#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;
}
#include <stdio.h> int main() { int i, j, k; for(i=1; i<5; i++) //这个外层循环用来控制行,for执行4次,即要打印4行 { /* 观察每行的空格数量,补全循环条件 */ for(j=i;j<5; j++) //这个for用来输出每行前面的空格数的 //通过观察,随着行数的增加,每行前面的空格数减少 //当j=i=1,即第一行,输出4个空格; //当j=i=2,即第二行,输出3个空格;...... //当j=i=4,即最后一行,输出1个空格。 { printf(" "); //输出空格 } /* 观察每行*号的数量,补全循环条件 */ for( k=0 ; k<2*i-1 ; k++ ) { printf("*"); //每行输出的*号 } printf("\n"); //每次循环换行 } return 0; }
还是没懂 求大佬详解
那为什么不能第一行空3空格,第二行为空2空格,第三行空1空格,第四行不空格呢?
#include <stdio.h>
int main()
{
int i, j, k;
for(i=1; i<5; i++)
{
/* 观察每行的空格数量,补全循环条件 */
for( j=i ; j< 4; j++ )
{
printf(" "); //输出空格
}
/* 观察每行*号的数量,补全循环条件 */
for( k=0 ; k<2*i-1 ; k++ )
{
printf("*"); //每行输出的*号
}
printf("\n"); //每次循环换行
}
return 0;
}