ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:23.41KB ,
资源ID:10113380      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10113380.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第四次数组部分补充习题.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

第四次数组部分补充习题.docx

1、第四次 数组部分补充习题第三次作业没有完成的程序题2.9 从键盘输入一组非0整数,以输入0标志结束,求这组整数的平均值,并统计其中正数和负数的个数。#include using namespace std;int main()int n;int u=0,v=0;int sum=0;int count=0;/算是一个计数器double average;cout输入任意的一个整数n; /先输入一个值,否则系统会随机给定一个值while(n!=0) count=count+n; if(n0) u=u+1; else /else(nn;/继续进行判断cout负数有:v正数有:uendl;average

2、=sum/count;cout这组数的平均值为:averageendl;return 0;2.6 编程输出下列图形,中间一行英文字母由输入得到。AB B BC C C C C D D D D D D D C C C C C B B B A还是不懂后面的#include using namespace std;int main() char in; int i,j; do coutin; if(in=97)&(in=122) in-=32;/小写改大写 while(in90); int line=in-A; for (i=0;i0;j-) cout ;/前方空格 for(j=1;j=2*i+1;

3、j+) cout char(i+A); cout0;i-) /下三角(少一行) for(j=0;j=line-i;j+) cout ; for(j=1;j=2*i-1;j+) cout char(i-1+A); coutendl; return 0; 2.5 编程打印如下图形: * * * * * * * * * * * * * * * * * * * * * * * * *#include using namespace std;int main()int i,j;for(i=1;i0;j-) cout ;for(j=1;j=2*i-1;j+) cout*;coutendl;for(i=1;

4、i4;i+)cout *n; return 0;2.12 将100元换成用10元、5元和1元的组合,共有多少种组合方法。#include using namespace std;int main()int i,j,k,count=0;for(i=0;i=10;i+)/控制是十元的个数 for(j=0;j=0) coutitjtkendl; count+; /计数器 coutcountendl;return 0; 2.11 编程求1000之内的所有完全数。所谓完全数指的是一个数恰好等于它的所有因子和。例如6=1+2+3,就是一个完全数。#include using namespace std;i

5、nt main()int i,j,sum_yz;for(i=1;i=1000;i+)/找从1到1000的满足题意的数 sum_yz=0; for(j=1;j=i;j+)/找其因子 if(i%j=0) sum_yz=sum_yz+j; if(i=sum_yz) coutit; return 0; 以下作业截止提交时间为:2012年4月30日 23:00一、 没有全部完成第三章编程题的或程序有错的,首先完成第三章的程序作业。 第四章 数组部分补充习题二 程序设计1. 若有一字符串正反读都一样(如 level、madam),称之为回文。请编写一程序验证输入的字符串是否为回文。#include usi

6、ng namespace std;int main()char hui10;int n;cout请输入您要验证的数组:endl;for(int i=0;ihuii; if(huii=z) n=i-1; break; cout您所输入的字符串为:;for(i=0;in;i+) couthuii;for(i=0;i=(n+1)/2;i+) int j=n-i; if(huii=huij) continue;/如果对应相等则继续进行判断 else /else后一定不能跟着表达式 cout您所输入的不是回文=(n+1)/2)/从循环中跳出来有两种可能,一种是不是回文,一种是i(n+1)/2cout您所

7、输入的是回文;return 0;结果:能正常运行并得出想要的结果。2. 将一个数组中的值按由小到大重新存放。例如,原来顺序8,3,5,4,1。要求改为1,3,4,5,8。编程实现之。#include using namespace std;int main() const int M=100; int numM; int n; cout输入一组数,并且以0结束,这组数为:endl; for(int u=0;unumu; if(numu=0) n=u-1; break; for(int i=0;ii;j-) if(numj-1numj) int x=numj-1; numj-1=numj; nu

8、mj=x; cout结果是:endl; for(int k=0;k=n;k+) coutnumk; coutendl; return 0;结果:能正常运行,并得到想要的结果。3. 设有下列矩阵: A = 请编程序找出符合下列特征的所有元素,并打印出他们在矩阵中的位置:(1) 它们既是所在行的最小值,又是所在列的最小值; #include using namespace std; int main() int min,tmp,MIN; int P=0,q=0; int a44= 1,2,3,4, 5,6,7,8, 9,10,11,12, 13,14,15,16; for(int i=0;i4;i

9、+) for(int j=0;j4;j+)/找到一行中的最小值,确定列数 min=aij; for(int k=j;kmin) P+; if(P!=3-j) continue; else for(int n=0;n4;n+) MIN=anj; for(int u=n;uMIN) q+; if(q!=3-n) continue; else if(i!=n) continue; else cout第i+1行第j+1列aijendl; return 0;结果:能正常运行,并得出想要的结果。自己编的程序不对,看了同学的。(2) 它们既是所在行的最大值,又是所在列的最大值;#includeusing n

10、amespace std;int main() int max,tmp,MIN; int p=0,q=0; int a44= 1,2,3,4, 5,6,7,8, 9,10,11,12, 13,14,15,16 ; for(int i=0;i4;i+) for(int j=0;j4;j+) max=aij; for(int k=j;k4;k+) if(aikmax) p+; if(p!=3-j) continue; else for(int n=0;n4;n+) max1=anj; for(int u=n;u4;u+) if(aujMIN) q+; if(q!=3-n) continue; el

11、se if(i!=n) continue; else cout第i+1行第j+1列aijendl; return 0;结果:能正常运行,并得出想要的结果。(3) 它们是所在行的最小值,却是所在列的最大值;#includeusing namespace std;int main() int min,tmp,MIN; int p=0,q=0; int a44= 1,2,3,4, 5,6,7,8, 9,10,11,12, 13,14,15,16 ; for(int i=0;i4;i+) for(int j=0;j4;j+) min=aij; for(int k=j;kmin) p+; if(p!=3

12、-j) continue; else for(int n=0;n4;n+) MIN=anj; for(int u=n;u4;u+) if(aujMIN) q+; if(q!=3-n) continue; else if(i!=n) continue; else cout第i+1行第j+1列aijendl; return 0;结果:能运行,但没有显示结果。(4) 它们是所在行的最大值,却是所在列的最小值。#includeusing namespace std;int main() int max,tmp,MIN; int p=0,q=0; int a44= 1,2,3,4, 5,6,7,8, 9

13、,10,11,12, 13,14,15,16 ; for(int i=0;i4;i+) for(int j=0;j4;j+) max=aij; for(int k=j;k4;k+) if(aikmax) p+; if(p!=3-j) continue; else for(int n=0;n4;n+) MIN=anj; for(int u=n;uMIN) q+; if(q!=3-n) continue; else if(i!=n) continue; else cout第i+1行第j+1列aijendl; return 0;结果:能正常运行并的出想要的结果。4.编写程序,将上题中的矩阵用二维数组

14、存储矩阵元素,从键盘输入数据,将矩阵转置后按行输出。#include using namespace std;int main()int A44;int x;cout请输入您要转置的4*4阶行列式:endl;for(int i=0;i4;i+) for(int j=0;jAij; cout您输入的4*4阶行列式为:endl;for(i=0;i4;i+) for(int j=0;j4;j+) coutAijt; coutendl; cout转置后的行列式为:endl;for(i=0;i4;i+) for(int v=i;v4;v+) x=Aiv; Aiv=Avi;/如果有多条语句,一定要用括起来

15、 Avi=x; cout转置后的行列式为:endl; for(i=0;i4;i+) for(int j=0;j4;j+)/为什么前面已经定义了j后面还要在定义一次? coutAijt; coutendl;/一定要注意放的位置,不然无法输出4*4阶行列式 return 0;结果:能正常运行并得出想要的结果。5.编写程序,将两个字符串连接起来,要求不使用strcat()函数。#include using namespace std;int main()char A20;int n;cout输入一个字符串A并以z为结束endl;for(int i=0;iAi; if(Ai=z) n=i; break

16、; char B20;int m;cout输入一个字符串B并以z为结束endl;for(int j=n;jBj; if(Bj=z) m=j;/这里是m=j-1 break; char C100;for(int v=0;vm;v+)/这里vm改为v=m,为什么运行结果少了最后一个字符 if(vn) Cv=Av; else Cv=Bv; cout连接后的字符串C为:endl;for(int x=0;xm;x+)coutCx;coutendl;return 0;结果:能正常运行并得到想要的结果。6.输入三个字符串,请使用字符串比较函数strcmp()将这三个字符串排序后按从小到大的顺序输出。#inc

17、lude#includeusing namespace std;int main() char a10,b10,c10; char d10,e10,f10; couta; cinb; cinc; if(strcmp(a,b)0)&(strcmp(a,c)0)/第一种情况如果ab,ac if(strcmp(b,c)0)/比较b,c的大小,如果bc for(int i=0;ibc分别赋值给d,e,f. else for(int i=0;icb di=ai,ei=ci,fi=bi; else if(strcmp(b,a)0)&(strcmp(b,c)0)/如果ba,bc. if(strcmp(a,c)0)/bac分别赋值给d,e,f. for(int j=0;jca分别赋值给d,e,f. for(int j=0;j0) for(int k=0;k10;k+) dk=ck,ek=ak,fk=bk; else for(int k=0;k10;k+) dk=ck,ek=bk,fk=ak; cout排序后的字符串排列为:f e dendl; return 0;结果:能正常运行,得出想要的结果,不知道理解的对不对。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1