完全没看懂,特别是由数字到正三角形那块
来我们来看看怎么思考,就是一行一行输出空格或*嘛。仔细观察。空格可以看出逐行减少,*逐行增加。那么这两个东西是跟着行数i变化的。空格可以看出每加一行少一个,第一行最多,为3个。那么可以这样写 for( j=4-i ; j>=0 ; j-- ) 。*每行都增加。下一行比上一行多两个,很容易看出是2n-1的关系,所以可以这样写for( k=1 ; k<=(2*i-1) ; k++ ) 。怎么样理解没?没理解可以再找我。
#include <stdio.h>
int main()
{
int i, j, k;
for(i=1; i<5; i++)
{
/* 观察每行的空格数量,补全循环条件 */
for( j=4-i ; j>=0 ; j-- )
{
printf(" "); //输出空格
}
/* 观察每行*号的数量,补全循环条件 */
for( k=1 ; k<=(2*i-1) ; k++ )
{
printf("*"); //每行输出的*号
}
printf("\n"); //每次循环换行
}
return 0;
}
为什么这样不对