杨辉三角
时限:1000ms 内存限制:10000K 总时限:3000ms
描述:
按要求输出杨辉三角(如下)的前n行.
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
. . . . . .
. . . . . . .
输入:
一个整数n.
输出:
杨辉三角的前n行.
输入样例:
2
输出样例:
1 1 1
答案如下:
#include<stdio.h> int main() { int n; int i,j; scanf(“%d”,&n); int a[100][1000]; for(i=0;i<n;i++)//初始化,使其每行第一个和最后一个数字为1 { a[i][0]=1; a[i][i]=1; }
//巧妙定义数组的长度 for(i=2;i<n;i++) { for(j=1;j<n-1;j++) { a[i][j]=a[i-1][j-1]+a[i-1][j];//后面的数据是其肩膀上的两数之和 } } for(i=0;i<n;i++) { for(j=0;j<i+1;j++) { if(j==i) { printf(“%d\n”,a[i][j]); } else { printf(“%d “,a[i][j]); } } } return 0; }