慕运维1786633
2016-05-03 16:20
#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;
}
for(j=i;j<5 ; j++ )
{
printf(" "); //输出空格
}
执行这一段的时候,一开始 j 赋值为 i 的值,而之后就会根据他的条件 j<5 来判断是否继续循环,而不是再根据一开始的赋值来判断是否循环。你要的应该结果应该是把
for(j=i;j<5 ; j++ ) 里面的j<5 改下就好了。。
应该是根据最后一行来看吧,用第一行的*对齐最后一行中间那个最后一行中间那个*到最后一行第一个*占了n个字节就第一行*有n个空格。
for(j=i;j<5 ; j++ )
{
printf(" "); //输出空格
}
j=i=1;j<5;j++ 输出5-1个空格
C语言入门
928197 学习 · 21544 问题
相似问题