c语言数组习题,编译没有错误,但是显示结果莫名其妙和答案完全不一样。

输出以下的杨辉三角形(要求输出10行)
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
...
我的答案:
#include<stdio.h>
void main()
{
int a[10][10],i,j;
for(i=0;i<10;i++);
{
a[i][0]=1;
a[i][i]=1;
}
for(i=2;i<10;i++)
{
for(j=1;j<i;j++)
{
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
}
for(i=0;i<10;i++)
{
for(j=0;j<=i;j++)
{
printf("%d ",a[i][j]);
}
printf("\n");
}
}

已经改好了:

#include<stdio.h>

void main()

{

int a[10][10],i,j;

for(i=0;i<10;i++)

{

a[i][0]=1;

a[i][i]=1;

}

for(i=1;i<10;i++)

{

for(j=1;j<i;j++)

{

a[i][j]=a[i-1][j-1]+a[i-1][j];

}

}

for(i=0;i<10;i++)

{

for(j=0;j<=i;j++)

{

printf("%d ",a[i][j]);

}

printf("\n");

}

}

追问

你的答案的确对。但是我还是没发现我哪里错了啊。。好像都是一样的啊。

追答

仔细查对啊,肯定是修改了错的,才能正确的啊。

追问

好的。谢谢,我再看看。

温馨提示:答案为网友推荐,仅供参考
相似回答