每周敲点C语言(三)
小编带大家攻克杨辉三角~...
2016-04-27
[知东智西]致力于网络最新科技,总结技术资料,分享热门资讯,为广大学者和创客打造一个多方位的信息分享平台。
编辑:郑占余 来源:简书作者
温故知新
上一期最后留了一个打印杨辉三角的问题。这是C语言程序设计练习题中比较常见的一道题,今天我们将通过多种解法帮助大家熟悉C语言程序设计的基本思想。请大家跟随小编一步步练习,程序设计中解决问题的思路才是最珍贵的。
杨辉三角
题目分析
上面这张图就是杨辉三角,相信大家在中学数学课中学习过。它实际上是二项式(a + b)的n次方展开后各项的系数排成的三角形,它有如下特点:- 每行左右两边都是1
- 从第二行起,中间的每一个数是上一行里相邻两个数之和
- 第n行有n个数字
解法一
看到这个问题,最容易想到的是创建一个二维数组。之后像填表一样把每一行的数据依次填进二维数组中。如图所示:杨辉三角二维数组
1. 二维数组初始化
首先,我们需要创建一个二维数组(我们以10 * 10的二维数组为例),全部元素初始化为0,之后把所有1的位置填上。代码如下:[code]# define MAX 10int main()
{
int i, j, n = MAX;
int array[MAX][MAX] = { 0 };
for (i = 0; i < n; i++)
{
array[0] = 1;
array = 1;
}
// 打印二维数组中的三角形
for (i = 0; i < n; i++)
{
for (j = 0; j
关注 知东智西
微信扫一扫关注公众号