C语言问题(为什么会这样)

来源:百度知道 编辑:UC知道 时间:2024/04/28 17:41:03
#include<stdio.h>
#define N 10
void main()
{
int a[N][N],i,j;
for(i = 0;i < N;i++)
{
for(j = 0;j < N;j++)
{
a[i][0] = 1;
a[i][j] = 1;
}
}
for(i = 2;i < N;i++)
{
for(j = 1;j < N -1;j++)
{
a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
}
}
for(i = 0;i < N;i++)
{
for(j = 0;j < N;j++)
{
printf("%d",a[i][j]);
}
printf("\n");
}
}
杨辉三角最早写的,结果编出来的不是这样!在百度问了后,有人给了答案!

#include<stdio.h>
#define N 10
void main()
{
int a[N][N],i,j;
for(i = 0;i < N;i++)
{
for(j = 0;j < N;j++)
{
a[i][0] = 1;
a[i][j] = 0;
}
}
for(i = 2;i < N;i++)
{
for(j = 1;j < N -1;j++)
{
a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
}
}
for(i = 0;i < N;i++) <

加4是为了对齐而已(因为有的是一位数如2,有的是2位如28,56,用%4d统一用4位)你加5也是一样可以的
其实他还加了printf(" ");
只是你没有看到
不过他做的打印出来也一定不是很整齐
如果是%4d要printf(" "); 要空四格这样才会整齐
当然他还改了一个地方,不过不重要

a[N][N],n不能是变量的。

不加就连起来了,你加个别的数字试试。

加了4是控制输出的格式。加了就会看到你要的格式了。

加4是指定输出的宽度呀!