每周敲点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


    关注 知东智西


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册