qq_慕丝9066459
2019-09-08 21:41
#include <stdio.h>
int main()
{
int i, j, k;
for(i=1; i<5; i++)
{
/* 观察每行的空格数量,补全循环条件 */
for(j=i;j<5;j++)
{
printf(" "); //输出空格
}
/* 观察每行*号的数量,补全循环条件 */
for(k=0;k<2*i-1;k++)
{
printf("*"); //每行输出的*号
}
printf("\n"); //每次循环换行
}
return 0;
}
怎么运行的?
就是一行一行输出空格或*。仔细观察。空格可以看出逐行减少,*逐行增加。那么这两个东西是跟着行数i变化的。空格可以看出每加一行少一个,第一行最多,为3个。那么可以这样写 for( j=i ; j<5 ; j-- ) 。*每行都增加。下一行比上一行多两个,很容易看出是2n-1的关系,所以可以这样写for( k=1 ; k<2*i-1; k++ ) 。怎么样理解没?
为什么j=i?
为什么j=1,j<5,j++.?我看不明白
同问,为什么要k<i*2-1?
同问,这块我也没看懂
C语言入门
926020 学习 · 20793 问题
相似问题