用一个数组计算并打印杨辉三角
#include<stdio.h>
#define H 12 //需要打印的行数
void Yang_hui(int arr[])
{
int a = 1;
int c = H - 1;//数组长度-1
int d = c;
arr[0] = a;
for (int i = 0; i < H; i++) { //打印第一行数组
if (arr[i] < 1) { //去除原数组初始化的值
break;
}
printf("%d ", arr[i]);
}
printf("\n");
while (c > 0) { //打印除第一行以外剩下的行
for (int i = d; i > 0; i--) { //计算杨辉三角
if (i <= d && i != 0) {
arr[i] = arr[i] + arr[i - 1];
}
}
for (int j = 0; j < H; j++) { //每计算一次打印一次数组
if (arr[j] < 1) {
break;
}
printf("%d ", arr[j]);
}
printf("\n");
c--;
}
}
int main()
{
int arr[H] = { 0 };
Yang_hui(arr);
return 0;
}