杨辉三角 请问哪里出错了
#include<stdio.h>
main()
{
int a[10][10]={0},i,j;
for(i=0;i<10;i++)
a[i][0]=1;
for(i=1;i<10;i++)
for(j=1;j<10;j++)
a[i][j]=a[i-1][j]+a[i-1][j-1];
for(i=0;i<10;i++)
{
for(j=0;j<i+1;j++)
printf("%5d",a[i][j]);
}
}
你的代码跟视频里只有两处差别。
第一处区别:
for(i=0;i<10;i++)
{
for(j=0;j<i+1;j++)//视频里写的是for(j=0;j<10;j++)
printf("%5d",a[i][j]);
}
按照你的写法,输出的三角不显示右上角的0,所以这样改也是可以的。
第二处区别:
for(i=0;i<10;i++)
{
for(j=0;j<i+1;j++)
printf("%5d",a[i][j]);
printf("\n");//你没有写这个换行符输出语句
}
因为少了一句换行符输出语句,导致你输出的元素不能像三角那样排列而是紧接着输出,所以看起来像是跟标准答案不符合,所以建议你加上这个输出语句再试试。