题目描述
输入非负整数N(0≤N≤30),输出杨辉三角。
为了简化问题,不同行之间的数值不需要对齐,只要求每一行内两个数值之间的间隔为有一个空格。
样例输入 Copy
4
2
0
样例输出 Copy
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1
1 1
1 2 1
1
#include <stdio.h>
#include<string.h>
int main(int argc, char *argv[])
{
int n,a[31][31];
scanf("%d",&n);n++;
for(int i=0;i<=n;i++){
for(int j=0;j<=n;j++){
a[i][j]=0;
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=i;j++){
if(j==i||i==1) a[i][j]=1;
else a[i][j]=a[i-1][j]+a[i-1][j-1];
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=i;j++){
printf("%d",a[i][j]);
if(j!=i) printf(" ");
}
printf("\n");
}
return 0;
}