题目:打印杨辉三角形
如:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
思路和代码:
//由规律不难得出,每行首个数字和最后最后一个数字都为1,其余数字是这列的上一个数字和前一个数字的和组成,由此推出代码
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int arr[100][100];//创建一个100*100的数组,用来存放数据
int n;
printf("杨辉三角形的行数为:");
scanf("%d", &n);
for (int i = 0; i < n; i++)//行
{
int j = 0;
for (j = 0; j <= i; j++)//列
{
if (j == 0 || j == i)//首,尾
{
arr[i][j] = 1;
}
else
{
arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];//剩下的情况,是这列的上一个数字和前一个数字的和组成
}
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}