在屏幕上打印杨辉三角,行数可控,例如:
1
1 1
1 2 1
1 3 3 1
杨辉三角的特点:三角的外部全部为一,某一位数的值为它上方及上方的左边两个数的和。
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a[20][20] = {0};//将数组全部赋0
int n = 0;
while (n<1 || n>20)
{
printf("请输入杨辉三角的行数(1-20):");
scanf("%d", &n);
}
for (int i = 0; i < n; i++)
a[i][0] = 1;//将每行行首赋1
for (int i = 1; i < n;i++)
for (int j = 1; j <= i; j++)
{
a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
}
//输出杨辉三角
for (int i = 0; i < n; i++)
{
for (int j = 0; j <= i; j++)
printf("%5d", a[i][j]);
printf("\n");
}
system("pause");
return 0;
}