版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一维数组一维数组怎样用以学过知识解决下列问题怎样用以学过知识解决下列问题t输入N个数,要求反向输出这N个数. 例如:输入 5 4 5 3 9 1 输出 1 9 3 5 4分析分析t 在解决这个问题时,要把很多数据保存下在解决这个问题时,要把很多数据保存下来,如果用以前的方法定义变量很麻烦,我来,如果用以前的方法定义变量很麻烦,我们可以批量定义变量。最常用的方法是定义们可以批量定义变量。最常用的方法是定义数组来解决。数组来解决。 intint a10; a10; a a是数组名,是数组名,1010表示有表示有1010个变量,分别是个变量,分别是 a0a0、a1a1、a9,a9,且每个值取整型。且
2、每个值取整型。t例1:输入N(Nn; for (i=0;iai;45391输出: for (i=n-1;i=0;i-) coutai;一维数组的初始化一维数组的初始化t在定义数组时对数组元素赋以初值。例如: int a10=0,1,2,3,4,5,6,7,8,9;t可以只给一部分元素赋初值。例如: int a10=0,1,2,3,4;t在对全部数组元素赋初值时,可以不指定数组长度。例如: int a=1,2,3,4,5t两个数组转存,要用循环一一导入,不能直接赋值。 for (i=0;in;i+) ai=bi; 例例2求不达均分的人数求不达均分的人数 (P1057) 输入输入n个个(nx; k
3、=0; while ( ) k=k+1; /K是数组的下标指针 ak=x% 2; x=x / 2; for ( ) coutn;tint an+5; /多定义几个多定义几个t for (i=1;iai; t tfor (i=1;i=n-1;i+) t for (j=i+1; jaj) swap(ai,aj);tfor (i=1; i=n;i+) coutai“ “;使用使用swap交换函数必须使交换函数必须使用头文件用头文件#include 使用使用sort max min count函数也要使用这个头文件。函数也要使用这个头文件。直接用直接用sort 函数排序函数排序如果数组如果数组a0-a
4、n-1sort(a,a+n)如果数组如果数组a1-ansort(a+1,a+n+1)sort(a+1,a+n+1)排序练习tP1102t排序默认的是由小到大排序,查名次的时候应该从后往前。 for (i=n;i=1;i-) if (ai=x) break;cout?;P1124 最好不使用sort 排序,选择排序比较的时候要注意两种情况都交换:a数组存编号 b数组存值,比较的时候:if (biaj) 输出的时候,每行要输出三个数。基数排序例7:将n个小于100的不同的正整数进行从小到大排序。样例:输入: 5 4 3 5 6 1 输出:1 3 4 5 6 采用选择排序的运算次数是n2,可以采用另
5、外一种方法: cinn; for (i=1;ix; ax=1; for (i=1;i0) couti1 1 的时的时候,必须全部输出。候,必须全部输出。优点:时间复杂度优点:时间复杂度O(nO(n) )。弱点:必须要知道数据的范围,且是弱点:必须要知道数据的范围,且是整数。整数。练习 P1097 明明的随机数分析:如果采用一般的模拟方法来做,很麻烦,直接使用基数排序法。 P1096 用上述类似的方法。数组的值开始都是0;移走的,将数组的值变成1。最后统计还有多少个值是0。基数排序的运用tP1101tP1096 数组定义在函数外,默认值为0读一对数,将数组中的这一部分变为1最后统计数组中还有多少
6、个数是0.P1129 十个数的操作十个数的操作a x输入输入三种情况:三种情况:(1)输出输出NO: if (x=a10) else for (i=1;i=x) break; /第第i位数有可能等于或大于位数有可能等于或大于 if (ai=x) 第(第(2)种情况)种情况 else 第(第(3)种情况)种情况 第(2)种情况: 将第i位删除 方法:从i位到n-1位,前面一位取后面一位的值。 for (j=i;j=n-1;j+) aj=aj+1; for (i=1;i=9;i+) coutai=i+1;j-) aj=aj-1; for (i=1;i=11;i+) coutai ;约瑟夫问题:设有
7、N个人依次围成一圈, 从第1个人起开始报数, 报到M的人出列,下一个人再从1起报数,报到M的人出列, 下一个人再从1起报数,如此继续, 直到所有人均出列为止. 设N个人的编号为1,2,.,N, 打印出出列的次序。例如:输入:N=6,M=3,则输出出列的顺序是:3 6 4 2 5 1int i=0; ai初始化为1;/ai=1表示i在圈上。for (j=1;jn) i=1; p=p+ai; while (p!=m); /报一轮的模拟 ai=0; couti“ “; /输出,同时将这个人出圈tP1125高精度算法 P1870a100=1; b100=1a100=1; b100=1;aa数组作为数组作为1 1!,!,b b数组存放和数组存放和 for (i=2; i=for (i=2; i=1;i-) s=ai+bi+g; ai=s % 10; g=s / 10; 5 50 4 4asg输出部分: i=1; while (ai=0 & imaxn) i+; /防止和是 for (j=i; j=maxn;j+) cout=1;i-) s=ai*b+g;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 综合医院自动喷水灭火设计方案
- 综合医院商业计划书
- 青少年法治教育学习手册
- 综合医院项目实施方案
- 隧道盾构掘进质量控制手册
- 高中信息技术必修1《3.4 加密与解密 探究密码背后的秘密》教学设计
- 噪声治理工程竣工验收监测报告
- 煤矿井下排水泵房设备布置设计
- 业主代表会议议事规则
- 九年级数学教学设计:位似图形概念构建与作图策略深度教学
- 2025-2026七年级数学第一次月考卷(全解全析)(深圳专用北师大版七上第1~2章)
- (2026年)热性惊厥患儿护理查房课件
- 第一单元学习项目一《没有共产党就没有新中国》课件人音版(简谱)初中音乐八年级上册
- 高素质农民培育项目服务方案投标文件(技术方案)
- 吉利汽车经销商运营手册
- (74)-1.2.2.2 设施蔬菜生长发育与光照条件
- 《蜀道难》ppt(优秀).ppt
评论
0/150
提交评论