杨辉三角是南宋杰出数学家杨辉在其著作《详解九章算法》提出的表示二项式展开后的系数构成的三角图形。例如,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;
}