c语言36题
36.编写程序,输入正整数n(1<=n<=9),输出n层数字塔。5层数字塔如下:1
2 2
3 3 3
4 4 4 4
5 5 5 5 5
要求:定义并调用函数pyramid(n)输出n层数字塔。
#include <stdio.h>
int main(void)
{
int n;
int repeat, ri;
void pyramid(int n);
scanf("%d", &repeat);
for(ri = 1; ri <= repeat; ri++){
scanf("%d", &n);
pyramid(n);
}
return 0;
}
void pyramid(int n)
{
int i,j;
for(i=1;1<=n;i++){
for(j=1;j<=n-i;j++)
printf(" ");
for(j=1;j<=i;j++)
printf("%d",i);
printf("\n");
}
C:\Users\Administrator\Desktop\Cpp1.cpp(24) : fatal error C1004: unexpected end of file found
Error executing cl.exe.
你好,
这是因为在pyramid()函数里的for循环的循环体不明确导致的问题。
在pyramid()函数里,第一个for循环后有一个‘{’,但直到末尾才有一个‘}’,这样导致与pyramid()函数自身的括号冲突,循环体范围不明确。
在pyramid()函数里通过嵌套循环来画图,思路正确!但似乎还有一个逻辑问题,在main()函数里通过循环调用pyramid()函数,可能会重复地画相同的图形。
页:
[1]