为什么网页上显示的图形是正确的而codeblocks上显示的却不对呢?
#include <stdio.h>
int main()
{
int i, j, k;
for(i=1; i<5; i++)
{
/* 观察每行的空格数量,补全循环条件 */
for(j=1 ; j<=i-k+2; j++ )
{
printf(" "); //输出空格
}
/* 观察每行*号的数量,补全循环条件 */
for( k=1 ; k<=2*i-1 ; k++ )
{
printf("*"); //每行输出的*号
}
printf("\n"); //每次循环换行
}
return 0;
}
是程序编错了吗?求赐教,错在哪里,最好是解释一下这个程序是如何运行的,为什么会出现这种状况,谢谢
这并不矛盾。开头定义int i,j,k=0;这个k是全局变量。而后面的for( k=1; k<=2*i-1 ; k++ )是局部变量
int i, j, k;--------------你只需要在这句中为k赋值为0即可
将其改为 int i, j, k=0;
#include <stdio.h> int main() { int i, j, k; for(i=1;i<5;i++) { /* 观察每行的空格数量,补全循环条件 */ for(j=1 ;j<=4-i;j++ ) { printf(" "); //输出空格 } /* 观察每行*号的数量,补全循环条件 */ for( k=1;k<=2*(i-1)+1;k++ ) { printf("*"); //每行输出的*号 } printf("\n"); //每次循环换行 } return 0; } 空格为倒序等差3,2,1----------所以得an=3+(n-1)*(-1) *差为2的等差数列---------------所以得an=1+(n-1)*2