【C语言】P165 6.输出以下的杨辉三角形(要求输出10行)

 P165 6.输出以下的杨辉三角形(要求输出10行)

1
1    1
1    2    1
1    3    3    1
1    4    6    4    1
1    5   10   10    5    1

……

 由图可知(解题关键)

①第一列(j=0)和对角线(a[i][i])的值都为1

②从第三行开始,除了对角线和第一列的值外,所有的值=头顶上两个数值之和

也就是a[i][j]=a[i – 1][j – 1] + a[i – 1][j];

#include<stdio.h>

int main() {
	int a[10][10];
	int i = 0, j = 0;
	//先给第一列(j=0)和对角线的数据赋值(都为1)
	for (i = 0; i < 10; i++) {
		a[i][i] = 1;
		a[i][0] = 1;
	}
	//再从第三行开始赋值
	for (i = 2; i < 10; i++) {
		for (j = 1; j <= i - 1; j++) {
			a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
		}
	}
	//输出
	for (i = 0; i < 10; i++) {
		for (j = 0; j <= i; j++) {
			printf("%6d", a[i][j]);	
		}
		printf("\n");
	}

	return 0;
}

运行结果:

 

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
乘风的头像乘风管理团队
上一篇 2023年12月14日
下一篇 2023年12月14日

相关推荐