编写代码,也可以画流程图,具体的内容以图案设计为主。
。
• 能够画出程序的流程图,视为达到“及格”或“中”;
• 能够对程序进行修改完善,比如生成更复杂、更有创意的图案,或者能够将数组的功能结合起来编程,视为达到“良好”或“优”。
例一:编写程序生成图示的三角形图案,三角形的大小可变,或画出程序的流程图。
#include
int main( )
{
int i,k,n;
printf(“input n:”);
scanf(“%d”,&n);
printf(“\n”);
for(i=0; i<=n;i++)
{
for(k=0; k
int main( )
{
int i,j,k,n;
printf(“input n:”);
scanf(“%d”,&n);
printf(“\n”);
for(i=0; i<=n;i++)
{
for(j=0; j<=i;j++)
printf(" ");
for(k=0; k<=n;k++)
printf("*");
printf("\n");
}
printf("\n");
return 0;
}
例三:编写程序生成图示的菱形图案,菱形的大小可变,或画出程序的流程图。
#include
#include
void main ( )
{
int i, j, k, m, n, Ln;
printf (” 输入菱形的行数: “); //输入大小提示
scanf (“%d”, &Ln); //输入大小
//如果为小于或等于0的数或为偶数
if (Ln <= 0 || Ln % 2 == 0)
{
printf ("\n 菱形的行数必需是正奇数!\n\n ");
exit (-1); //程序结束
}
for (i = 1; i <= Ln; i++) //控制行数
{
if (i <= (Ln+1)/2)
n= 2 * i - 1; //每行中"*"号的个数
else
n= 2 * (Ln-i+1) - 1; //每行中"*"号的个数
m = (Ln - n) / 2 + 15; //每行打印"*"之前应打印的空格数
for (k = 1; k <= m; k++)
printf (" "); //打印每行前面的空格
for (j = 1; j <= n; j++)
printf ("*"); //打印每行的"*"
printf ("\n"); //换行
}
}
例四:编写程序,实现从菜单中选择生成不同的几何图案,如三角形、平行四边形或菱形等,几何图案的大小可变,或画出程序的流程图。
#include
#include
#include
int main(void)
{ char choose=’\0′;
int t1();
int t2();
int t3();
do
{ system(“cls”);
printf(” |~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|\n”);
printf(” | 请输入选项编号(0~3) |\n”);
printf(” |~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|\n”);
printf(” | 1:三角形 |\n”);
printf(” | 2:菱形 |\n”);
printf(” | 3:平行四边形 |\n”);
printf(” | 0:退出 |\n”);
printf(” ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n”);
printf(” “);
choose=getch();
switch(choose)
{ case ‘1’: t1(); printf(” \n按任何键返回\n”); getch(); break;
case ‘2’: t2(); printf(” \n按任何键返回\n”); getch(); break;
case ‘3’: t3(); printf(” \n按任何键返回\n”); getch(); break;
case ‘0’: exit(0);
default : printf(” %c为非法选项!\n按任何键返回”,choose); getch();
}
}while(1);
return 0;
}
int t1( )
{
int i,k,n;
printf(“输入三角形的行数:”);
scanf(“%d”,&n);
printf(“\n”);
for(i=0; i<=n;i++)
{
for(k=0; k