要求:
http://codeup.cn/problem.php?cid=100000569&pid=2
代码:
开始想用找规律输出,未果,于是把前10行都写到数组里面= =,虽然也通过了
#include <stdio.h>
int main(){
int str[10][10] ={{1},{1,1},{1,2,1},{1,3,3,1},{1,4,6,4,1},{1,5,10,10,5,1},{1,6,15,20,15,6,1},{1,7,21,35,35,21,7,1},{1,8,28,56,70,56,28,8,1},{1,9,36,84,126,126,84,36,9,1}};
int n;
scanf("%d",&n);
for(int i = 0;i <= n - 1;i++){
for(int j = 0;j <= i;j++){
printf("%d ",str[i][j]);
}
printf("\n");
}
}
后面网上查了下,发现是可以规律输出的,之前没处理好a[i][0] = 1;a[i][i] = 1;
代码如下:
#include <stdio.h>
int main(){
int a[10][10];
for(int i = 0;i <= 9;i++){
a[i][0] = 1;
a[i][i] = 1;
for(int j = 1;j < i;j++){
a[i][j] = a[i-1][j-1] + a[i-1][j];
}
}
int n;
scanf("%d",&n);
for(int i = 0;i <=n - 1;i++){
for(int j = 0;j <= i;j++){
printf("%d ",a[i][j]);
}
printf("\n");
}
}