首页 > 专题系列 > C基础练习 > C语言程序设计-杨辉三角形[数组应用]
2013
11-19

C语言程序设计-杨辉三角形[数组应用]

10041 杨辉三角形

【问题描述】打印出杨辉三角形的前n行。
【输入形式】输入一个正整数n(n<20)。
【输出形式】杨辉三角形,每个输出的数后面跟一个空格。
【样例输入】5
【样例输出】

    1 
   1 1 
  1 2 1 
 1 3 3 1 
1 4 6 4 1

 

【样例说明】输入5时,打印如上图的杨辉三角形。
【评分标准】本题共2个测试点,每个0.5分,全部通过得1.0分。

#include <stdio.h>
int main() {
	int n;
	scanf("%d",&n);
	int arr[25][25];
	int i,j;
	//计算每一行的值
	arr[1][1] = 1;
	for( i=2; i<=20; i++){
		arr[i][1] = arr[i][i] = 1;
		for( j=2; j<i; j++){
			arr[i][j] = arr[i-1][j-1] + arr[i-1][j];
		}
	}

	for( i=1; i<=n; i++){
		//打印开头的空格
		for( j=1; j<=n-i; j++) printf(" ");
		for( j=1; j<=i; j++){
			printf("%d ",arr[i][j]);
		}
		puts("");
	}
	return 0;
}

 


  1. 5.1处,反了;“上一个操作符的优先级比操作符ch的优先级大,或栈是空的就入栈。”如代码所述,应为“上一个操作符的优先级比操作符ch的优先级小,或栈是空的就入栈。”