当前课程知识点:C语言程序设计 >  第22讲 编程训练 >  编程训练 >  数组参数传递(下)

返回《C语言程序设计》慕课在线视频课程列表

数组参数传递(下)在线视频

返回《C语言程序设计》慕课在线视频列表

数组参数传递(下)课程教案、知识点、字幕

用函数编程计算并输出如图所示的杨辉三角形

这个例子展示了二维数组的使用以及参数传递方式

我们看一下这个杨辉三角的特点

首先第一列都为1

其他位置的值是左上角与上面的值之和

比如说这个2它是左上角这个值加上它正上面这个值之和

然后这个3也是左上角加上正上面

这个10也是的

左上角加正上面之和

然后还有就是这个杨辉三角的这半边全部都没有显示

我们看一下这个程序

思路是这样的

首先初始化二维数组的所有元素值为0

再置第一列元素值为1

根据杨辉三角的特点

就是从第2行开始

依次把结果算出来

因为你要算下面的结果的时候

是需要用到上面一行结果的

所以它这个就是按照第二行

然后完了第三行、第四行、第五行这样的次序一直算完

算完了以后再输出

我们看一下这个完整的程序

首先在这个地方

定义了一个N是100

这个就是先假定杨辉三角的行和列最多是100

然后到底杨辉三角行列是多少

是通过scanf读入这个n的值

当然前面在设定这个的时候

这个二维数组就通过这样初始化

就让所有的元素都置为0

这样为了后面处理方便

然后这个地方就调用杨辉三角的这个函数

我们看一下

在这个调用的时候注意这儿传递的时候

传的是二维数组的值

那么写的时候

是需要把二维数组的数组名写在这儿就行了

然后这个是这个数组的行与列的宽度

那么我们看函数本身

它在这儿定义的时候那么这个必须要定义完整

就是要这样写

注意这个和这儿的这个写法的区别

还有这个地方也是

虽然名字看起来不同

但是这种调用方式ms和这个s实际上是一回事

我们看

在程序当中

这个地方先通过一个循环

那么这个目的是把最左边的一列数据全部设为1

然后下面这个双重循环里面内层循环

是设置计算一行的值

外层循环是从第二行开始

i=1一直到i

这外层循环是处理n-1行

就是除了第一行不处理

处理后面的所有行

然后在内层当中

是处理具体的这一行当中的哪几列数据

注意这个地方

因为它在处理的时候只有三角形

所以等于这儿处理每一行的列的时候

那个列数小于等于行数

比如说

你在处理这个第四行的时候

那么它只需要处理到都四列就行了

因为第五列往后是不用算的

所以这个地方是这样一个小小的技巧

可以减少一些计算量

然后这个函数调用完了以后

那么杨辉三角的那个值实际上已经就算好了

然后我们下面这个过程是把杨辉三角给输出在屏幕上

那么输出的时候也是内层循环处理其中的一行

外层循环就一共处理n行

处理的时候还要注意这个输出

输出的时候这个地方用了一个-4d

这是什么意思呢

就是每一个元素输出的时候输出四位

而且是左对齐

左对齐用负号

我们运行一下这个程序

首先我们输入一下这个三角形长和宽应该是多少

比如说是7

那么我们看到这样输出就是按要求输出的杨辉三角形

当然这个n你输入其他值的话

那算出来行和列就是其他宽度高度的

C语言程序设计课程列表:

第0讲 导言

-简单介绍课程性质等

-关于编程训练

第1讲 C程序框架

-C程序框架

-作业

第2讲 C程序编译环境

-C语言的编译环境

-作业

第3讲 顺序程序的几个例子

-顺序程序的几个例子

-作业

第4讲 常见的编译错误

-常见的编译错误

-作业

-编译错误探讨

第5讲 输入输出精要

-输入输出精要

-作业

-输入输出格式探讨

第6讲 选择结构的典型例子

-选择结构的典型例子

-作业

第7讲 选择结构常见错误

-选择结构常见错误

-作业

第8讲 排除程序错误的常规方法

-排除程序错误的常规方法

-排除错误探讨

第9讲 循环结构基础

-循环结构基础

-作业

-循环类型

第10讲 循环结构程序例子

-循环结构程序例子

-作业

-程序结构

第11讲 函数基础

-函数基础

-作业

第12讲 函数举例

-函数举例(上)

-函数举例(下)

第13讲 变量的作用域与生存期

-变量的作用域与生存期

-变量的使用

第14讲 数组基础

-数组基础

-作业

第15讲 数组应用举例

-数组应用举例(上)

-数组应用举例(下)

第16讲 数组参数传递

-数组参数传递(上)

-数组参数传递(下)

-作业

第17讲 指针变量

-指针变量(上)

-指针变量(下)

-作业

第18讲 字符串

-字符串(上)

-字符串(下)

-作业

第19讲 程序调试

-程序调试

-程序调试的重要性

-程序调试讨论

第20讲 结构体及其应用

-结构体及其应用(上)

-结构体及其应用(下)

第21讲 文件

- 文件(上)

-文件(下)

第22讲 编程训练

- 编程训练

数组参数传递(下)笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。