問題 C: 習題6-6 楊輝三角
時間限制: 1 Sec 內存限制: 12 MB獻花: 183 解決: 164
[獻花][花圈][TK題庫]
題目描述
按要求輸入如下格式的楊輝三角
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
最多輸出10層
輸入
輸入只包含一個正整數n,表示將要輸出的楊輝三角的層數。
輸出
對應於該輸入,請輸出相應層數的楊輝三角,每一層的整數之間用一個空格隔開
樣例輸入
5
樣例輸出
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
參考代碼:
#include <stdio.h>
int main(void){
int n,i,j;
scanf("%d", &n);
int a[n][n]; //定義一個2維數組,長度為n*n
for(i=0;i<n;i++){ //把第0列和對角線上的元素遍歷為1
a[i][i]=1;
a[i][0]=1;
}
for(i=2;i<n;i++){ //計算中間的數,其滿足規律:a[i][j]=a[i-1][j]+a[i-1][j-1]
for(j=1;j<=i-1;j++){
a[i][j]=a[i-1][j]+a[i-1][j-1];
}
}
for(i=0;i<n;i++){ //遍歷輸出
for(j=0;j<=i;j++){
printf("%d ",a[i][j]);
}
printf("\n");
}
return 0;
}