1. 程式人生 > 其它 >c語言二維陣列_3(上課)

c語言二維陣列_3(上課)

//利用二維陣列打印出如下楊輝三角形的前8行。

#include <stdio.h>
#define N 8
void main()
{
int i, j, k, n=0, a[N][N]; /*定義二維陣列a[8][8]*/
while(n<=0||n>=8){ /*控制列印的行數不要太大,過大會造成顯示不規範*/
printf("請輸入要列印的行數:");
scanf("%d",&n);
}
printf("%d行楊輝三角如下:\n",n);
for(i=1;i<=n;i++)
a[i][1] = a[i][i] = 1; /*兩邊的數令它為1,因為現在迴圈從1開始,就認為a[i][1]為第一個數*/
for(i=3;i<=n;i++)
for(j=2;j<=i-1;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j]; /*除兩邊的數外都等於上兩頂數之和*/
for(i=1;i<=n;i++){
for(k=1;k<=n-i;k++)
printf(" "); /*這一行主要是在輸出數之前打上空格佔位,讓輸出的數更美觀*/
for(j=1;j<=i;j++) /*j<=i的原因是不輸出其它的數,只輸出我們想要的數*/
printf("%6d",a[i][j]);

printf("\n"); /*當一行輸出完以後換行繼續下一行的輸出*/
}
printf("\n");
}

執行結果: