#include<stdio.h> #include<stdlib.h> int main () { int n,i,j,a[30][30]; while(scanf("%d",&n)==1) { a[0][0]=1;a[1][0]=1;a[1][1]=1; if(n==1) printf("1\n"); if(n==2) printf("1\n1\t1\n"); if(n>2) { printf("1\n1\t1\n"); for(i=2;i<n;i++) { a[i][0]=1; printf("%d\t",a[i][0]); for(j=1;j<i;j++) { a[i][j]=a[i-1][j-1]+a[i-1][j]; printf("%d\t",a[i][j]); if(j+1==n)break; } a[i][j]=1; printf("%d\n",a[i][j]); //if((j+1)==n){printf("\n");break;} } } printf("\n"); } system ("pause"); return 0; } /*#include<stdio.h> #include<stdlib.h> int main () { int n,i,j,a[30][30]; while(scanf("%d",&n)==1) { a[0][0]=1;a[1][0]=1;a[1][1]=1; for(i=2;i<n;i++) { a[i][0]=1; a[i][i]=1; for(j=1;j<i;j++) { a[i][j]=a[i-1][j-1]+a[i-1][j]; //if(j+1==n)break; } for(i=0;i<n;i++) { for(j=0;j<i;j++) //这句for语句中j<i,如果定义为j<n,就会出现没有赋值的数组导致输出错误。 printf("%d\t",a[i][j]); printf("\n"); } //a[i][j]=1; } } system ("pause"); return 0; } */ /*#include<stdio.h> #include<stdlib.h> int main () { int n,i,j,a[30][30]; while(scanf("%d",&n)==1) { for(i=1;i<n;i++) } system ("pause"); return 0; } */ /*a[0][0]=1;a[1][0]=1;a[2][0]=1;a[3][0]=1;a[4][0]=1;a[5][0]=1; a[6][0]=1;a[7][0]=1;a[8][0]=1;a[9][0]=1;a[10][0]=1;a[11][0]=1; a[17][0]=1;a[15][0]=1;a[16][0]=1;a[14][0]=1;a[13][0]=1;a[12][0]=1; a[18][0]=1;a[19][0]=1;a[20][0]=1;a[21][0]=1;a[22][0]=1;a[23][0]=1; a[29][0]=1;a[28][0]=1;a[27][0]=1;a[26][0]=1;a[25][0]=1;a[24][0]=1;*/
for 语句循环嵌套的使用:注意变量的定义,注意判断条件的定义。