1. 程式人生 > >C語言實現輸出楊輝三角

C語言實現輸出楊輝三角

1.倒推法實現輸出楊輝三角有半部分,程式碼如下:

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int n,i,j,a[100];
 5     printf("請輸入行數n:");
 6     scanf("%d",&n);
 7     printf("  1");
 8     printf("\n");
 9     a[1]=a[2]=1;
10     printf("%3d%3d\n",a[1],a[2]);
11     for(i=3;i<=n;i++)
12     {
13         a[1
]=a[i]=1; 14 for(j=i-1;j>1;j--) 15 a[j]=a[j]+a[j-1]; 16 for(j=1;j<=i;j++) 17 printf("%3d",a[j]); 18 printf("\n"); 19 } 20 return 0; 21 }

執行結果:

2.實現輸出楊輝三角全部,程式碼如下:

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int a[10][21];
5 int i,j; 6 for(i=0;i<10;i++) 7 for(j=0;j<21;j++) 8 a[i][j]=0; 9 a[0][10]=1; 10 for(i=1;i<10;i++) 11 for(j=10-i;j<10+i+1;j++) 12 a[i][j]=a[i-1][j-1]+a[i-1][j+1]; 13 for(i=0;i<10;i++) 14 { 15 for(j=0;j<21
;j++) 16 if(a[i][j]==0) 17 printf(" "); 18 else{ 19 if(a[i][j]<10) 20 { 21 printf("%2d",a[i][j]); 22 } 23 else if(a[i][j]<100) 24 { 25 printf("%2d",a[i][j]); 26 } 27 else{ 28 printf("%d",a[i][j]); 29 } 30 } 31 printf("\n"); 32 } 33 printf("\n"); 34 return 0; 35 }

執行結果: