杨辉三角:
打印杨辉三角如下图
1
1 1
1 2 1
1331
#include <stdio.h>
#include <stdlib.h>
int main(){
int col=10;
printf("how many column you want to see?");
scanf("%d",&col);
int a[20][20];//c语言里不能用变量创建数组
for(int i=0;i<col;++i){
int j=0;
for(int n=1;n<col-i;++n){
printf(" ");
}
for(j=0;j<i;++j){
if(j==0||j==i){
a[i][j]=1;
}
else{
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
printf("%6d",a[i][j]);
}
printf("\n");
}
system("pause");
return 0;
}
c语言语言不能根据用户输入的大小创建数组,如果一定要的话:
for example:
int line;
int col;
scanf("%d,%d",&line,&col);
int p[line][col];//这样是不允许的!!!!!
正确的做法是:
p = (int *)malloc(sizeof(int)*line*col);
// 访问或者写入数据时:
*(p + line*i + j);
p +line*i + j;
说实话并没太看懂,先码着。