#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)存在恒久不变的规律,当执行到第i行,则空格量为5-i;*号的量也是这种思路(*号的数量和所处i行的关系)(啰嗦一点。。。第一行就是2*1-1(1)个,第二行就是2*2-1(3)个,第三行就是2*3-1(5)个,第四行。。。明白了吧·,好好努力,加油。
i=1,i<5是总共输出5行,子循环是判断每行有多少个空格,这个循环的条件我不是很理解,第一行3个,第2行2个,为什么会是那样,不是很懂,孙循环是判断*号个数,第一行1个,第2行3个,第3行5个,按数学方法来看,第i行就有2i-1个
从程序看有3个循环结构一个大循环包含两个小循环,大的为i两个小的分别为j和k i为行数, j在第i所表示的行中输出空格,输出空格结束后用k来补*号,第一行4空格,1*
第二行3空格,2*
第三行2空格,3*依次类推。