- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本章要点 数组 数组 一、实例导入 例6.1 用数组求Fibonacci数列的前20个数。已知它的定义如下: 二、一维数组 1、一维数组的定义 使用说明: 使用说明: 2、一维数组元素的引用 一维数组元素的引用 一维数组元素的引用 3、一维数组的初始化 一维数组的初始化 一维数组的初始化 4、一维数组的应用举例 例6.2 读5个整数到数组中,然后求最小值,并且最小值与第一个数组元素交换。 例6.3 已知a是一维数组,它的长度为N,对它进行倒置。 第1种方法: 分析: 第2种方法: 分析: 思考: 三、二维数组 1、二维数组的定义 2、二维数组元素的引用 二维数组元素的引用 3、二维数组的初始化 二维数组的初始化 二维数组的初始化 4、二维数组的应用举例 例6.4 求一个二维数组的最大元素及其所在的行和列。 分析: 例6.5 一个学习小组有5个人,每个人有三门课的考试成绩。求每个人的平均成绩。 例6.6 矩阵的相乘。 分析: 例6.7 矩阵的转置。 第1种情况: 第2种情况: 四、字符数组 2、字符数组的初始化 (1)逐个元素赋值 (2)用字符串常量赋值 用字符串常量赋值 注意: 说明: 提示: 提示: 提示: 提示: 注意: 例6.12 手机短号。 例6.13 编程处理一批数据,要求: 分析: getdata函数 printdata函数 selSort函数 average函数 count函数 例6.14 输出杨辉三角形(要求输出10行以内)。杨辉三角最本质的特征是,它的两条斜边都是由数字1组成的,而其余的数则是等于它肩上的两个数之和。 例6.15 有一篇文章,共有3行文字,每行至多有80个字符。要求分别统计出其中大写字母、小写字母、数字、空格以及其它字符的个数。 拓展进阶: 拓展进展:找出一个二维数组中的鞍点,即该位置上的元素在该行上最大、在该列上最小。也可能没有鞍点。 (1)顺序查找 顺序查找 (2)折半查找 折半查找 (1)选择排序 选择排序 假设,数组a的长度为5,其数组元素是:10、3、17、19和1,则数组元素值的变化见表6-3。 (2)冒泡排序 冒泡排序 假设,数组a的长度为5,其数组元素是:10、3、17、19和1,则第0趟数组元素值的变化如图6-1所示。 每一趟数组元素值的变化如表6-4所示。 七、专题:进制转换 例6.17 将十进制整数转换成其他进制(十六进制以内)。 例6.18 将其他进制(十六进制以内)转换成十进制整数。 八、应用实例——学生成绩管理 应用实例——学生成绩管理 第1步:写一个函数用于输入学生信息 第2步:写一个函数用于输出学生信息 第3步:写一个函数用于按总成绩从小到排序 第4步:写main函数用进行测试 思考: ? 本章小结 参考书目 网络资源 讨 论 时 间 ? 冒泡排序的算法思想是:反复扫描待排序的数组,在扫描的过程中顺次比较相邻的两个元素的大小,若逆序就交换位置。 冒泡排序的算法步骤如下(升序): (1)在未排序的n个数(a[0]~a[n-1])中,如果相邻的两个数组元素a[k]a[k+1](k∈[0,n-2]),则a[k]与a[k+1]交换。 (2)在剩下未排序的n-1个数(a[0]~a[n-2])中,如果相邻的两个数组元素a[k]a[k+1](k∈[0,n-3]),则a[k]与a[k+1]交换。 …… (3)在剩下未排序的两个数(a[0]~a[1])中,如果相邻的两个数组元素a[0]a[1](k=0),则a[0]与a[1]交换。 void bubbleSort(int a[], int n) { int i, j, t; for(i=0; in-1; i++)/* 第i趟比较 */ for(j=0; jn-1-i; j++)/* 第i趟中两两比较n-1-i次 */ if(a[j] a[j+1]){ t = a[j]; a[j] = a[j+1]; a[j+1] = t; } } 输入样例1: 78 2 输出样例1: 1001110 输入样例2: 78 16 输出样例2: 4E void deciTOother(int n, int th, char a[]) { int k; int i=0; while(n){ k=n%th; if(k=0 k=9) a[i]=k+48; else if(k=10 k=15) a[i]=k-10+65; n=n/th; i++; } a[i]=\0; /*最后加上\0*/ } #include stdio.h #include string.h int main() { char str[101];
您可能关注的文档
最近下载
- 《常见的妇科阴道炎》PPT课件ppt.pptx VIP
- 2025新疆天泽水利投资发展有限公司及所属二级企业部分岗位社会招聘30人备考题库及答案解析.docx VIP
- 2025年匹克球主题团建活动方案.pdf VIP
- 2021年中华护理学会10项团体标准成人住院患者跌倒风险评估及预防.docx VIP
- TAVI(经皮导管主动脉瓣植入术)术后护理.pptx VIP
- 《中医学概论》课程教学大纲(本科).pdf VIP
- 冷冻食品生产质量控制措施.docx VIP
- 2023年新疆水利投资控股有限公司人员招聘考试参考题库及答案解析.docx VIP
- 围墙施工方案(围墙施工方案).doc VIP
- 中职中专新生入学开学第一课教育精品(1).ppt VIP
文档评论(0)