此题何解C语言

来源:百度知道 编辑:UC知道 时间:2024/05/17 12:55:52
四、程序填充题
1. 用循环输出下列形式的数字金字塔。
1
1 2 1
1 2 3 2 1
1 2 3 4 3 2 1
1 2 3 4 5 4 3 2 1
1 2 3 4 5 6 5 4 3 2 1
1 2 3 4 5 6 7 6 5 4 3 2 1
1 2 3 4 5 6 7 8 7 6 5 4 3 2 1
1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1
main( )
{
int i, j;
for(i=1;___;i++)
{
for(j=i;j<=10;j++) printf(" "); /* 输出若干个空格 */
for(j=1; ___;j++) printf("%2d",i);
for(___;j>=1;j--) printf("%2d",j);
printf("\n");
}
}

#include<stdio.h>
void main()
{
int i, j;
for(i=1;i<10;i++)
{
for(j=i;j<=10;j++) printf(" ") ; /* 输出若干个空格 */
for(j=1; j<i;j++) printf("%d",j) ;
for(j=i;j>=1;j--) printf("%d",j) ;
printf("\n") ;
}
}
请注意3处改动。
第3个for语句中printf后的i应该为j ;
两处了%2d最好改为%d,才更像金字塔
如有更好的写法,请多指教!

i<10
j<i
j=i

#include<stdio.h>
int main()
{int i,j;
for(i=1;i<=9;i++)
{for(j=1;j<i;j++)
printf("%d" ,j);//你哪里的i错了吧
for(j=i;j>0;j--)
printf("%d",j);
printf("\n");}
return(0);
}