在mooc上复习C的循环嵌套的时候,遇到一道题目,要打印这样一个图形:
*
***
*****
*******
这并不是一道很难的题目,如果不限定范围。我会选择用双重的循环和if语句来写,主要程序如下:
for(i=0;i<4;i++)
{
for(j=0;j<7;j++)
{
if(j<3-i)
printf(" ");
else if(j>=3-i && j<=3+i)
print("*");
}
printf("\n");
}
上面其实相当于半个菱形公式,但在课程网上,对代码限制严格,用了三个控制的变量i,j,k,总共用了三条for语句。我思考了下,补全之后是这样
for(i=1;i<5;i++)
{
/* 每行的空格数量 */
for( j=1; j<5-i;j++ ) //或者for( j=i; j<5;j++ )
{
printf(" "); //输出空格
}
/* 每行*号的数量 */
for(k=1; k<i*2 ; k++ )
{
printf("*"); //每行输出的*号
}
printf("\n"); //每次循环换行
}
在后来学了复杂的语句后,会把之前的一些东西丢弃掉。再输入部分后,接着输入就可以了,我却加了条件语句在里面。
这篇博客介绍了如何使用C语言通过循环嵌套来打印一个由星号(*)组成的正三角形。博主首先展示了简单的实现方式,然后逐步完善代码,包括调整空格和星号的输出,最终形成完整的程序。这个过程反映了编程中从简单到复杂的学习过程。
2095

被折叠的 条评论
为什么被折叠?



