杨辉三角是南宋杰出数学家杨辉在其著作《详解九章算法》提出的表示二项式展开后的系数构成的三角图形。例如,n=5,则杨辉三角如输出样例所示。输入一个整数n,输出n行的杨辉三角形。
输入格式:
输入数据有多组,每组1个整数n(1≤n≤10),一直处理到文件尾。
输出格式:
对于每个n,输出n行杨辉三角形。每个数据的输出为5个字符宽度,具体见输出样例。
输入样例:
5
输出样例:
1 1 1 1 2 1 1 3 3 1 1 4 6 4 1
自己写的
#include <stdio.h>
#include <stdlib.h>
int main()
{int arr[10][10]={1};int n,i,j;while(scanf("%d",&n)!=EOF){for(i=0;i<n;i++){for(j=0;j<=i;j++){if(j==0){arr[i][j]=1;}if(i>=1&&j>0){arr[i][j]=arr[i-1][j]+arr[i-1][j-1];}}}for(i=0;i<n;i++){for(j=0;j<=i;j++){printf("%5d",arr[i][j]);}printf("\n");}}return 0;
}
老师写的
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>int main()
{int n;while (scanf("%d", &n) != EOF){int a[n][n];for (int i = 0; i < n; i++){for (int j = 0; j <= i; j++){if (j == 0 || i == j){a[i][j]=1;}else{a[i][j] = a[i - 1][j - 1] + a[i - 1][j];}}}for (int i = 0; i < n; i++){for (int j = 0; j < n; j++){if (j <= i)printf("%5d", a[i][j]);}printf("\n");}}return 0;
}
