空格是递减的为什么在表达式里要写成“j++”。为什么不能写成for(j=4;j>=1;j--)
for(i=1; i<5; i++) //此循环用i控制循环的行输出
{
for(j=i;j<5-i;j++) //此循环用j控制没一行的空格输出,重点:1.能够表示出是在哪一行,是第一行,还是第 //二行所以必须找出行数与每一行的关系,即j和i的关系,2.能够正确输出即可。后面的k //循环同样要找出k和i的关系。如果这里采用for(j=4;j>=1;j--),则空格的输出完全就 //独立于行之外了
{
printf(" "); //输出空格
}
/* 观察每行*号的数量,补全循环条件 */
for(k=1;k=i*2-1;k++)
{
printf("*"); //每行输出的*号
}
printf("\n"); //每次循环换行
}
return 0;
你那样 写 每行都打印4个空格 而程序中是第一行打印3个空格 第二行打印2个
因为它还会根据行数的变化打印出空格数也随之而变,仔细分析它的逻辑