题目介绍:
输入描述:
第一行包含一个整数数n。 (1≤n≤30)
输出描述:
包含n行,为杨辉三角的前n行,每个数输出域宽为5。
输入:6
输出:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
解答代码
#include <stdio.h>
#include <string.h>
int main()
{
int n = 0;
int arr[30][30] = { 0 };
scanf("%d", &n);
int i = 0;
int j = 0;
for (i = 0; i < n; i++)
{
for (j = 0; j < n; j++)
{
if (i == j)
{
arr[i][j] = 1;
}
if (j == 0)
{
arr[i][j] = 1;
}
if (i >= 2 && j >= 1)
{
arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
}
}
}
//打印
for (i = 0; i < n; i++)
{
for (j = 0; j <=i; j++)//这里的就j<=i 是意味着是控制输出的
{
printf("%5d", arr[i][j]);
}
printf("\n");
}
return 0;
}