C //习题 6.6 输出以下的杨辉三角形(要求输出10行)

时间:2024-10-27 11:36:42

C程序设计 (第四版) 谭浩强 习题 6.6

习题 6.6 输出以下的杨辉三角形(要求输出10行)

1 1      1 1      2      1 1      3      3      1 1      4      6      4      1 1      5      10      10      5      1 ⋯ \begin{aligned}&1\\&1\ \ \ \ 1\\&1\ \ \ \ 2\ \ \ \ 1\\&1\ \ \ \ 3\ \ \ \ 3\ \ \ \ 1\\&1\ \ \ \ 4\ \ \ \ 6\ \ \ \ 4\ \ \ \ 1\\&1\ \ \ \ 5\ \ \ \ 10\ \ \ \ 10\ \ \ \ 5\ \ \ \ 1\\& \cdots \end{aligned} 11    11    2    11    3    3    11    4    6    4    11    5    10    10    5    1

IDE工具:VS2010
Note: 使用不同的IDE工具可能有部分差异。

 

代码块
方法1:使用数组
思路:
设置数组,默认值为0。
每行第一列值都为1,且当行号与列号相等时,值也为1。
其他行列的值等于它的上一行前一列的值与上一行当前列的值相加。
#include <>
#include <>

int main(){
	int num[10][10] = {0};

	for(int i = 0; i < 10; i++){
		for(int j = 0; j <= i; j++){
			if(j == 0 || j == i){
				num[i][j] = 1;
			}
			else{
				num[i][j] = num[i - 1][j] + num[i - 1][j - 1];
			}
			printf("%4d", num[i][j]);
		}
		printf("\n");
	}

	system("pause");
	return 0;
}