第五章循环结构课后反思

include<stdio.h>

int main()
{
int a,b,c,d,e,f;
for(a=1;a<=5;a++)
{
for(b=1;b<=5-a;b++)
printf(" ");
for(c=1;c<=(2a-1);c++)
printf("
");
printf(" ");
}
for(d=1;d<=4;d++)

{
	for(e=1;e<=d;e++)
	printf(" ");
	for(f=1;f<=9-2*d;f++)
	printf("*");
	printf("
");
}

}
运行结果如图:
问题分析:可以把图案分成两个部分,既顶角向上的等腰三角形和顶角向下的等腰三角形。星星数为for(c=1;c<=(2*a-1)),行数为(a=1;a<=5;a++);空格为(b=1;b<=(5-a);b++)
重难点:主要是空格的排布问题

include<stdio.h>

int main()
{
int a,b,d,e;
for(a=1;a<=5;a++)
{
for(b=1;b<=(2a-1);b++)
printf("
");
printf(" ");
}
for(d=1;d<=4;d++)
{
for(e=1;e<=(9-2d);e++)
printf("
");
printf(" ");
}

}

程序运行结果如图:
问题分析:可以将图案分成两个部分,顶角向上的直角三角形和顶角向下的直角三角形;在顶角向上的直角三角形中,行数为5,星星为2a-1;
顶角向下的三角形中;行数为4;星星数为9-2d;
重难点:首先是行数的程序代码;然后确定星星的代码

include<stdio.h>

main()
{
int a,b,c,d,e,f;
for(a=1;a<=5;a++)
{
for(b=1;b<=(10-2a);b++)
printf(" ");
for(c=1;c<=(2
a-1);c++)
printf("");
printf(" ");
}
for(d=1;d<=4;d++)
{
for(e=1;e<=2
d;e++)
printf(" ");
for(f=1;f<=(9-2d);f++)
printf("
");
printf(" ");
}
}

程序运行结果如图:

分析:此图类似与上一个图案;一样可以将图案分成两个部分,但需要插入空格代码,第一部分行数为a=5,空格数为,b=1,b<=(10-2a),b++,星星数为c=1,c<=(2a-1),c++
第二部分的行数为d=4;空格数为e=1,e<=2*d,e++

原文地址:https://www.cnblogs.com/lyf152977/p/10704661.html