听星光过银河
2016-07-05 20:44
这是我的答案。。标准答案为 (j=i;j<5;j++) 这样不就输出了5个空格?
#include <stdio.h>
int main()
{
int i, j, k;
for(i=1; i<5; i++)
{
/* 观察每行的空格数量,补全循环条件 */
for( j=1 ; j<=(4-i) ; j++ )
{
printf(" "); //输出空格
}
/* 观察每行*号的数量,补全循环条件 */
for( k=1 ; k<=(2*i-1) ; k++ )
{
printf("*"); //每行输出的*号
}
printf("\n"); //每次循环换行
}
return 0;
}
你的答案是正确的,要想达到这个结果,可以有不同的思路和途径
for( j=1 ; j<=(4-i) ; j++ )
然后,例如j<=(4-i),第一次循环,i=1,循环了三次,就输出三个空格,然后接着执行下一个对*的输出,i=1,k<=(2*i-1)即i<=1,输出一个*,此时第一行就有三个空格然后一个*,然后,换行符,下一行,同理。然后四次之后,得到答案。
C语言入门
928251 学习 · 21546 问题
相似问题
回答 2
回答 2