这段代码输出杨辉三角有什么错误:#include <stdio.h> int main() { int a[30][30],i,j,n; scanf("%d",&n); for(i=0;i<n;i++) { for(j=0;j<n;j++) { if(i==0||j==0||j==i)a[i][j]=1; else a[i][j]=a[i-1][j-1]+a[i-1][j]; } } for(i=0;i<n+1;i++) { for(j=0;j<i+1;j++) { printf("%d ",a[i][j]); }printf("\n"); } }
时间: 2024-04-06 20:33:42 浏览: 25
C语言在屏幕上输出杨辉三角
这段代码中的错误在于第一个 for 循环的起始值应该是 0 而不是 1。因为数组的下标从 0 开始,所以第一个 for 循环应该从 0 到 n-1,而不是从 1 到 n。如果使用了从 1 到 n 的循环,就会导致第一行杨辉三角无法正确生成。所以,将第一个 for 循环改为 `for(i=0;i<n;i++)` 即可。
阅读全文