- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一维数组应用 四川信息职业技术学院·《C语言》 * 第三节 数值型一维数组的应用 一、数组在递推中的应用 【例6-3】 用数组的方法输出斐波拉契数列: 1,2,3,5,8,13,21,34,55,89,…… 写C程序,输出该数列前N项。 【简要分析】 显然这是一个典型的递 推问题,结合数组,从第三个数开始,其递推公式是:x[i]=x[i-1]+x[i-2],其中i=2,3, …,N-1 输出x数组,结束 i=i+1 产生新项:x[i]=x[i-1]+x[i-2] 产生x数组:i<N 赋初值:令x[0]=1,x[1]=2,i=2; 设置环境,定义数组x[N],计数变量i 利用循环结构,用N-S流程图描述: 第三节 数值型一维数组的应用 参考源代码: #include conio.h #define N 20 void main() { long i, x[N] = { 1, 2 }; clrscr(); printf(“%ld\t%ld\t”, x[0], x[1]); for ( i = 2; i N; i++ ) /* 尚剩N-2项 */ x[i] = x[i - 1] + x[i- 2]; /* 产生各项 */ for ( i = 0; i N; i++ ) /* 输出数列 */ printf(%ld\t, x[i] ); } 【思考验证】 如果将x数组定义为整型int,程序是否能正常运行? 【融会贯通】 某数列前三项为0、1、1,以后各项均为前相邻三项之和,输出该数列前N项 第三节 数值型一维数组的应用 二、数组在排序中的应用 【例6-4】 键盘输入N个战士的身高,将其升序排列。 输出排序后的a数组,结束 i=i+1 令j=i+1~N-1,凡a[j]a[i]则交换a[j]、a[i] 确定各a[i]的位置:i ≤N-2 ? 初始化a数组,并令i=0 开始:定义数组a[N],下标i、j,临时变量temp 用N-S图描述的程序逻辑图: 比较法: 将数组元素a[i](i=0,1,2…,N-2)与它后边的每一个元素a[j](j=i+1,…,N-1)逐个比较,凡有a[j]a[i]者则交换二者的值(以保证a[i]比任何a[j]都小)。重复这个过程N-1次,最后a数组中元素便被升序排列。 第三节 数值型一维数组的应用 参考源代码: /* 例6-4,6-4_1.c */ #include conio.h #define N 10 void main() { int a[N], t, i, j; clrscr(); for ( i = 0; i N; i++ ) /* 本循环输入N个原始数据 */ scanf(%d, a[i]); for ( i = 0; i N -1; i++ ) /* 本循环完成排序 */ for ( j = i + 1; j N; j++ ) / * x[i]与它后边所有元素逐一比较,大则交换 */ if ( a[j] a[i] ) { temp = a[j]; a[j] = a[i]; a[i] = temp; } for ( i = 0; i N; i++ ) /* 输出排序后的数组 */ printf(%5d, a[i]); } 怎样修改本程序以实现降序排列? 第三节 数值型一维数组的应用 冒泡法 :使较小的值象水中的空气泡一样逐渐“上浮”到数组的顶部,而较大的值则逐渐“下沉”到数组的底部。这种技术要排序好几轮,每轮都要比较连续的数组元素对。如果某一对元素的值本身是升序排的,那就保持原样,否则交换其值。 输出排序后的a数组,结束 i=i+1 j=j+1 若a[j]>a[j+1]则交换a[j]、a[j+1] j<N-i? j=0 i ≤N-2 ? 初始化a数组,并令i=0 开始:定义数组a[N],下标i、j,临时变量temp 第三节 数值型一维数组的应用 排序过程示例(设N=8):每趟只将方括号中的数据从左向右两两比较,让较大者不断“后沉”到方括号外。 假设原始数据 ?[49? 38 ?65 ?97 ?76 ?13 ?27 ?49] 第一趟排序后 [38 49 65 76 13 27 49] 97 第二趟排序后 ?[38 49 65 13 27 49
您可能关注的文档
- 专家名录_北京协和医院_北京协和医院刘颖.pptx
- 专家名录_广东省中医院_广东省中医院_陈红霞.pptx
- 专家名录_黄晓琳_华中科技大学同济医学院附属同济医院黄晓琳.pptx
- 专家名录_李放_复旦大学附属华山医院_李放.pptx
- 专家名录_南京市第一医院_南京市第一医院_史文红.pptx
- 专家名录_绍兴市人民医院_绍兴市人民医院_龚剑秋.pptx
- 专家名录_绍兴市人民医院_绍兴市人民医院_钮易蓓.pptx
- 专家名录_绍兴市人民医院_绍兴市人民医院_陶小英.pptx
- 专家名录_首都医科大学宣武医院_首都医科大学学宣武医院宋为群.pptx
- 专家名录_叶祥明_浙江省人民医院_叶详明.pptx
- 泌尿外科疾病培训班课件.ppt
- 法制安全教育课课件.ppt
- 2025年及未来5年老搭档酒项目市场数据调查、监测研究报告.docx
- 2025年及未来5年涨壳式可预力中空注浆锚杆系统项目市场数据调查、监测研究报告.docx
- 2025年及未来5年带防火阀风机项目市场数据调查、监测研究报告.docx
- 儿童术后疼痛的护理要点解析.pptx
- 2025年及未来5年钢制柔性管接头项目市场数据调查、监测研究报告.docx
- 2025年及未来5年超级纳米电容项目市场数据调查、监测研究报告.docx
- 2025年中国硅酸铝干法毯市场调查研究报告.docx
- 2025年及未来5年无动力滚筒输送线项目市场数据调查、监测研究报告.docx
原创力文档


文档评论(0)