三、【问题描述】
在屏幕上显示如下杨辉三角形:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
... ... ... ... ... ... ...
【输入形式】
从键盘输入整数n(n>=0且n<=12)
【输出形式】
在屏幕上输出n+1行杨辉三角形。
#include<stdio.h>
int main()
{
int a[100][100], i, j, num,k,count=0;
scanf("%d", &num);
for (i = 0; i < 100; i++)//初始化数组全部初始化为0
{
for (j = 0; j < 100; j++)
a[i][j] = 0;
}
for (i = 0; i < num+1; i++)//使数组的第一列都为1
a[i][0] = 1;
for (i = 1; i < num+1; i++)//第i行j列元素等于第i-1行j列和第i-1行j-1列元素的和
for (j = 1; j <= i; j++)
a[i][j] = a[i - 1][j] + a[i - 1][j - 1];
for (i = 0; i < num+1; i++)//输出
{
for (k = 0; k <= 2 * num-2*count+2; k++)
{
printf(" ");
}
count++;
for (j = 0; j <= i; j++)
printf("%4d",a[i][j]);
printf("\n");
}
return 0;
}