输出以下的杨辉三角形(要求输出10行)。
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
: : : : : :
#include <stdio.h> #define h 10 int main() { int i,j; int a[h][h]; for(i = 0;i<h;i++){ a[i][i] = 1; a[i][0] = 1; } for(i = 2;i<h;i++){ for(j = 1;j<=i-1;j++){ a[i][j] = a[i-1][j-1]+a[i-1][j]; } } for(i = 0;i<h;i++){ for(j = 0;j<=i;j++){ printf("%5d",a[i][j]); } printf("\n"); } return 0; }
#include<stdio.h> int main(){ int a[10][10]; for(int i=0;i<10;i++) a[i][0]=a[i][i]=1; //每行左右两边为1 for(int i=2;i<10;i++) for(int j=1;j<i;j++) a[i][j]=a[i-1][j-1]+a[i-1][j]; //其他位置大小为其上一行相邻两数之和 for(int i=0;i<10;i++){ for(int k=9;k>i;k--) printf(" "); //每行最前面的空格(两个空格宽度对应%4d,三个空格对应%6d) for(int j=0;j<i+1;j++) printf("%4d",a[i][j]); printf("\n"); } return 0; }