问题:打印出杨辉三角形的前n行(n<20)。
回答:
#include <stdio.h>
int main() {
int n;
scanf("%d",&n);
int arr[25][25];
int i,j;
//计算每一行的值
arr[1][1] = 1;
for( i=2; i<=20; i++){
arr[i][1] = arr[i][i] = 1;
for( j=2; j<i; j++){
arr[i][j] = arr[i-1][j-1] + arr[i-1][j];
}
}
for( i=1; i<=n; i++){
//打印开头的空格
for( j=1; j<=n-i; j++) printf(" ");
for( j=1; j<=i; j++){
printf("%d ",arr[i][j]);
}
puts("");
}
return 0;
}
时间: 2024-11-03 22:05:45