“高级语言程序设计”上机实践总结
高级语言上机图形输出题型考试的概率太大了/为了大家更好地学习特总结了一下/下面是一道2006年9月18上午考试题/要求输出图形为下图/输入数<20正整数(如输入3 ,输出下图)
B
B B B
B B B B B
程序如下:
main()
{int n,i,j;
printf( "please input 0<n<20:\n") ;
scanf( "%d",&n);
printf( "\n");
if(n <=0||n>=20)
printf( "Error! n must be 0<n<20\n");
else for(i=1;i <=n;i++)
{for(j=0;j <n-i;j++) printf(" ");
for(j=1;j <=2*i-1;j++) printf("%c",'B');
printf( "\n");
}
}
只要大家记住这个例子/可以说高级语言图形输出没有问题了/下面是拓展的几个类型/
约定:蓝色为修改地方
都以输入3输出下列图形
输入数为<20正整数
程序全部上机测试过
拓展1:
如输出
1
2 2 2
3 3 3 3 3
main()
{int n,i,j;
printf( "please input 0<n<20:\n") ;
scanf( "%d",&n);
printf( "\n");
if(n <=0||n>=20)
printf( "Error! n must be 0<n<20\n");
else for(i=1;i <=n;i++)
{for(j=0;j <n-i;j++) printf(" ");
for(j=1;j <=2*i-1;j++) printf("%d",i);
printf( "\n");
}
}
拓展2:
如输出
A
B B B
C C C C C
main()
{int n,i,j;
printf( "please input 0<n<20:\n") ;
scanf( "%d",&n);
printf( "\n");
if(n <=0||n>=20)
printf( "Error! n must be 0<n<20\n");
else for(i=1;i <=n;i++)
{for(j=0;j <n-i;j++) printf(" ");
for(j=1;j <=2*i-1;j++) printf("%c",'A'+i-1);
printf( "\n");
}
}
拓展3:
如输出
A
B B B
C C C C C
main()
{int n,i,j;
printf( "please input 0<n<20:\n") ;
scanf( "%d",&n);
printf( "\n");
if(n <=0||n>=20)
printf( "Error! n must be 0<n<20\n");
else for(i=1;i <=n;i++)
{/*for(j=0;j <n-i;j++) printf(" ");*/
for(j=1;j <=2*i-1;j++) printf("%c",'A'+i-1);
printf( "\n");
}
}
拓展4:
如输出
C C C C C
B B B
A
main()
{int n,i,j;
printf( "please input 0<n<20:\n") ;
scanf( "%d",&n);
printf( "\n");
if(n <=0||n>=20)
printf( "Error! n must be 0<n<20\n");
else for(i=n;i >0;i--)
{for(j=0;j <n-i;j++) printf(" ");
for(j=1;j <=2*i-1;j++) printf("%c",'A'+i-1);
printf( "\n");
}
}
拓展5:
如输出
1
2 2 2
3 3 3 3 3
2 2 2
1
main()
{int n,m,i,j;
printf( "please input 0<n<20:\n") ;
scanf( "%d",&n);
printf( "\n");
if(n <=0||n>=20)
printf( "Error! n must be 0<n<20\n");
else
{m=n;
for(i=1;i <=m;i++)
{for(j=0;j <m-i;j++) printf(" ");
for(j=1;j <=2*i-1;j++) printf("%d",i);
printf( "\n");
}
for(i=n-1;i >0;i--)
{for(j=0;j <m-i;j++) printf(" ");
for(j=1;j <=2*i-1;j++) printf("%d",i);
printf( "\n");
}
}
}
拓展6:
如输出
12 2 2
3 3 3 3 3
2 2 2
1
main()
{int n,m,i,j;
printf( "please input 0<n<20:\n") ;
scanf( "%d",&n);
printf( "\n");
if(n <=0||n>=20)
printf( "Error! n must be 0<n<20\n");
else
{m=n;
for(i=1;i <=m;i++)
{/*for(j=0;j <m-i;j++) printf(" ");*/
for(j=1;j <=2*i-1;j++) printf("%d ",i);
printf( "\n");
}
for(i=n-1;i >0;i--)
{/*for(j=0;j <m-i;j++) printf(" ");*/
for(j=1;j <=2*i-1;j++) printf("%d ",i);
printf( "\n");
}
}
}
拓展7:
如输出
B B B
B B B
B B B
main()
{int n,i,j;
printf( "please input 0<n<20:\n") ;
scanf( "%d",&n);
printf( "\n");
if(n <=0||n>=20)
printf( "Error! n must be 0<n<20\n");
else for(i=n;i >0;i--)
{for(j=0;j <n-i;j++) printf(" ");
for(j=0;j <n;j++) printf("%c",'B');
printf( "\n");
}
}
拓展8:
如输出
3 3 3
2 2 2
1 1 1
main()
{int n,i,j;
printf( "please input 0<n<20:\n") ;
scanf( "%d",&n);
printf( "\n");
if(n <=0||n>=20)
printf( "Error! n must be 0<n<20\n");
else for(i=n;i >0;i--)
{for(j=0;j <n-i;j++) printf(" ");
for(j=0;j <n;j++) printf("%d",i);
printf( "\n");
}
}