C语言程序设计课件:第4章-数组2(总例题习题).ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《C语言程序设计课件:第4章-数组2(总例题习题).ppt》由用户(罗嗣辉)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 课件 数组 例题 习题
- 资源描述:
-
1、2022-1-222【例例】写出下面程序的运行结果写出下面程序的运行结果max=75程序举例例 读10个整数存入数组,找出其中最大值和最小值步骤:1. 输入:for循环输入10个整数2. 处理:(a) 先令max=min=x0(b) 依次用xi和max,min比较(循环) 若xi max,令max=xi 若xi min,令min=xi3. 输出:max和min #include #define SIZE 10main() int xSIZE,i,max,min; printf(Enter 10 integers:n); for(i=0;iSIZE;i+) printf(%d:,i+1);sca
2、nf(%d,&xi); max=min=x0; for(i=1;imax) max=xi; if(xi min) min=xi; printf(Maximum value is %dn,max); printf(Minimum value is %dn,min);2022-1-224 3 5 8 1 6 9 7 12-6 0 0 0要点:用两要点:用两重循环遍历重循环遍历所有元素。所有元素。【讨论】【讨论】 如果求最小如果求最小值?值? 2022-1-225定义并初始化数组定义并初始化数组for (i=2;i40;i+ )fi=fi-1+fi-2for (i=0;i40;i+ )i%5=0NY
3、打印换行打印换行打印打印fifn=1 n=1,2fn-1+fn-2 n31 1 2 3 5 8 0,122022-1-226f0f1f2f3f4f5f39.11014523392352022-1-227main() int a55,i,j; for (i=0;i5;i+) for (j=0;j5;j+) if ( 【1】 ) aij=0; else aij=【2】; printf(%3d,aij); printf(n); 2022-1-228【分析】分析】这类题的元素值排列很有规律,一般要这类题的元素值排列很有规律,一般要从分析行列数从分析行列数 i、 j与元素值的关系着手与元素值的关系着手.
4、 .当当 i=j时时,元素值,元素值随行数随行数 i i 增加而增加,随列数增加而增加,随列数 j 增加而减小,增加而减小,这样就很容易得出其元素值与这样就很容易得出其元素值与 i,j 的关系是的关系是 i+1-j。a55分析分析: :a00 a01 a02 a03 a04a10 a11 a12 a13 a14a20 a21 a22 a23 a24a30 a31 a32 a33 a34a40 a41 a42 a43 a442022-1-229main() int a55,i,j; for (i=0;i5;i+) for (j=0;j5;j+) if ( 【1】 ) aij=0; else ai
5、j=【2】; printf(%3d,aij); printf(n); ij i+1-j a55分析分析: :a00 a01 a02 a03 a04a10 a11 a12 a13 a14a20 a21 a22 a23 a24a30 a31 a32 a33 a34a40 a41 a42 a43 a442022-1-22102022-1-22112022-1-22122022-1-22132022-1-22141 2 3 4 5 6 7 82022-1-22151 2 3 4 5 6 7 81 2 32022-1-22164 5 6 7 81 2 32022-1-22174 5 6 7 8 1 2
6、31 2 32022-1-22182022-1-22191 2 3 4 5 6 7 8182022-1-22208 2 3 4 5 6 7 1 2022-1-22218 7 3 4 5 6 2 12022-1-22228 7 6 5 4 3 2 12022-1-22231 2 3 4 5 6 7 83 2 1 4 5 6 7 83 2 1 8 7 6 5 48 7 6 5 4 3 2 12022-1-2224【例例】求出求出3 3100100之间的所有素数之间的所有素数( (质数质数) )思路:思路:定义函数定义函数int isPrimeint isPrime(int xint x),判断整数
7、是否为素数。),判断整数是否为素数。 对所有小于对所有小于x x的整数的整数i i判断,当所有的判断,当所有的i i都不被都不被x x整除时,整除时,x x为为 素数。素数。对对3-1003-100间的所有数字调用函数间的所有数字调用函数isPrimeisPrime(int xint x),判断是),判断是否为素数。否为素数。能否改进?能否改进?2022-1-2225【例例】求出求出3 3100100之间的所有素数之间的所有素数( (质数质数) )3 35 57 79 911111313151517171919212123232525272729293131333335353737393941
8、4143434545思路:思路:定义一个数组定义一个数组prime49,prime49,存储下奇数:存储下奇数: 3 3、5 5、7 7、9 9、1111、13951395、9797、9999从从第第0 0个元素个元素开始,其后的各个元素若是第开始,其后的各个元素若是第0 0个元个元 素的倍数,则将其值素的倍数,则将其值置为置为0 0,表示该元素不是素数,表示该元素不是素数再从第一个元素开始再从第一个元素开始一直到从一直到从第第4747个元素个元素开始,其后元素如是第开始,其后元素如是第4747个个 元素的倍数,则将其值置位元素的倍数,则将其值置位0 0这时这时数组数组primeprime中不
9、为中不为0 0的元素是素数的元素是素数数组数组prime49存储奇数存储奇数 3、5、7、997、99如果如果primei不为不为0,表示,表示是素数,每行输出是素数,每行输出5个元素个元素 如果数组元素如果数组元素primej不不整除它之前所有的元素整除它之前所有的元素 primei,则它就是素数,则它就是素数2022-1-2227排序基本概念排序基本概念1、排序的功能:、排序的功能:将一个数据元素(或记录)的将一个数据元素(或记录)的任意任意序列序列,重新排成一个按关键字,重新排成一个按关键字有序有序的序列。的序列。2、排序过程的组成步骤:、排序过程的组成步骤: 首先首先比较比较两个关键字
10、的大小;两个关键字的大小; 然后将记录从一个位置然后将记录从一个位置移动移动到另一个位置。到另一个位置。2022-1-22282022-1-2229数据的有序插入算法数据的有序插入算法插入数据插入数据 在有序数组中插入数据后,数组仍然有序。在有序数组中插入数据后,数组仍然有序。 要求数组有足够的空间。要求数组有足够的空间。前提:被操作数组已经是有序数组,操作前前提:被操作数组已经是有序数组,操作前后不改变数组的有序性后不改变数组的有序性2022-1-2230 插入过程:插入过程:(1) 确定数据插入位置确定数据插入位置(2) 从最后一个元素开始逐个后移,直从最后一个元素开始逐个后移,直到将第到
展开阅读全文