慕姐4483164
2019-08-01 17:15
#include <stdio.h>
int main()
{
int i, j, k;
for(i=1; i<5; i++)
{
/* 观察每行的空格数量,补全循环条件 */
for(j=3 ; j>=0 ; j-- )
{
printf(" "); //输出空格
}
/* 观察每行*号的数量,补全循环条件 */
for( k=0 ; k<2*i-1 ; k++ )
{
printf("*"); //每行输出的*号
}
printf("\n"); //每次循环换行
}
return 0;
}
只是小白的个人理解,如果有错误希望指出和谅解:
第一次循环时:i=1带入子循环,j=3 j=2 j=1 j=0都可以取到,再进行孙子循环;
第二次循环时:i=2带入子循环,j=3 j=2 j=1 j=0同样可以被取到,再进行孙子循环;
以此类推,每一次父循环j的四个值都可以被取到所以j不会有递变
因此对关于j的for,应该设法将第二个分号前的语句与i搭上关系
不行奥 因为你这样写的话 你的后面几行打印的空格跟第一行打印的空格数就是一样的啦!!!!每次进入这个子循环都会打印4个空格(而且题目要求第一行是打印3个 奥)
C语言入门
926028 学习 · 20793 问题
相似问题