1. 程式人生 > >用c語言實現列印楊輝三角

用c語言實現列印楊輝三角

用c語言實現列印楊輝三角

首先對楊輝三角進行分析

1、每個數等於它上方兩數之和。
2、每行數字左右對稱,由1開始逐漸變大。
3、第n行的數字有n項。

對於這種題目,一定要認真分析列印影象的規律再下手

首先是平面圖形就想到二維陣列

#define N 10

int arr[N][N];

定義一個這樣的二維陣列
接著我們發現每行的第一列和最後一列都是1;

for(int i=0;i<N;i++){
arr[i][0]=1;//每一行的第一列等於1
arr[i][i]=;//每一行的最後一列等於1
}

且我們發現第i行j列的元素值等於他i-1行j列和i-1行j-1列元素的值的和,於是我們編寫程式碼

for (int i = 2; i < N; i++){//從第三行開始,因為1,2行都已經填滿了
		for (int j = 1; j < i; j++){//從第二列開始,第i-1列結束,因為第一列和第i列都已經為1
			a列印rr[i][j] = arr[i - 1][j] + arr[i - 1][j - 1];
		}

加上最後一步列印,下面是完整程式碼

#include<stdio.h>
#define N 10
int main(){
	int arr[N][N];
	for (int i = 0; i < N; i++){
		arr[
i][0] = 1; arr[i][i] = 1; } for (int i = 2; i < N; i++){ for (int j = 1; j < i; j++){ arr[i][j] = arr[i - 1][j] + arr[i - 1][j - 1]; } } for (int i = 0; i < N; i++){ for (int j = 0; j <=i;j++){ printf("%4d", arr[i][j]); } printf("\n"); } system("pause"); return 0; }