




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上一、程序改错 第1题/*-【程序改错】-题目:用顺序交换法将12个整数中处于奇数位的数从大到小排序。-注意:不可以增加或删除程序行,也不可以更改程序的结构。-*/#include <iostream.h>void main()/*FOUND*/ int m12,i,j;/*FOUND*/ for(i=1;i<=12;i+) cin>>mi; for(i=0;i<11;i+=2)/*FOUND*/ for(j=i+1;i<11;i+)/*FOUND*/ if(mi>mj) k=mi; mi=mj; mj=k; for(i=
2、0;i<12;i+) cout<<mi;答案: 1). int m12,i,j,k; 2). for(i=0;i<12;i+) 或 for(i=0;i<=11;i+) 3). for(j=i+2;j<11;j+=2) 或 for(j=i+2;j<11;j=j+2) 4). if(mj>mi) 或 if(mi<mj)第2题 /*-【程序改错】-题目:在一个具有n个数的数组中查找并删除一个数K。-注意:不可以增加或删除程序行,也不可以更改程序的结构。-*/#define n 10#include <iostream.h>void m
3、ain()/*FOUND*/ int an,n,k,i,j;/*FOUND*/ for(i=1;i<=n;i+) cin>>ai; cin>>k;/*FOUND*/ for(i=1;i<=n|ai!=k;i+); if(i<n) for(j=i;j<=n-1;j+) aj=aj+1;/*FOUND*/ for(i=0;i<n;i+) cout<<ai; else cout<<"not found" for(i=0;i<n;i+) cout<<ai; 答案: 1). int an,
4、k,i,j; 2). for(i=0;i<n;i+) 3). for(i=0;i<n&&ai!=k;i+); 4). for(i=0;i<n-1;i+)第3题 /*-【程序改错】-题目:利用插入法将20个数排列成降序,并计算输入序列中第10个数到第20个数的和.-注意:不可以增加或删除程序行,也不可以更改程序的结构。-*/#include <iostream.h>void main( ) float s,a21=1,3,5,7,9,2,4,6,8,10,13,65,76,34,23,15,64,33,234,66;/*FOUND*/ int i,j
5、; for(j=2;j<=20;j+) k=j-1; a0=aj;/*FOUND*/ while(k>=0&&ak>a0 ) /*FOUND*/ ak=ak+1; k-; /*FOUND*/ ak=a0; for(i=1;i<=20;i+) cout<<ai<<" " s=0.0; for(j=10;j<=20;j+) s=s+aj; cout<<s;答案: 1). int i,j,k; 2). while(m<aj&&j>=0) 3). ak+1=ak; 4).
6、ak+1=a0;第4题 /*-【程序改错】-题目:将十进制正整数n转化为二进制数输出-注意:不可以增加或删除程序行,也不可以更改程序的结构。-*/#include <iostream.h>void main() int m50,m150,n,i,j,n1; cin>>n; i=0; while(n>0) /*FOUND*/ n1=n%2;/*FOUND*/ m1i=n/2;/*FOUND*/ n1=n; i+; for(j=1;j<=i;j+)/*FOUND*/ m1i+1-j=mj; for(j=1;j<=i;j+) cout<<mj;答
7、案: 1). n1=n/2; 2). m1i=n%2; 3). n=n1; 4). mj = m1i-j;第5题 /*-【程序改错】-题目:判断一个自然数是否为降序数(若D1D2D3DN满足DI>DI+1, 1<=I<=N,则D1D2DN为降序数,如54321)-注意:不可以增加或删除程序行,也不可以更改程序的结构。-*/#include <iostream.h>void main() int m100,n,i,j; cin>>n; for(i=0;n!=0;i+) /*FOUND*/ mi=n/10;/*FOUND*/ n=n%10; /*FOUND
8、*/ for(j=0;j<i&&aj<aj+1;j+);/*FOUND*/ if(j<=i) cout<<"yes" else cout<<"no"答案: 1). mi=n%10; 2). n=n/10; 3). for(j=0;j<i-1&&aj<aj+1;j+); 4). if(j=i-1)第6题 /*-【程序改错】-题目:用二分法在一组按升序的数中找出指定的数K.-注意:不可以增加或删除程序行,也不可以更改程序的结构。-*/#include <iostrea
9、m.h>void main() int a20,n,find,k,m,i,j; cin>>n; for(i=0;i<n;i+) cin>>ai; cin>>k; find=0; i=0;j=n-1;/*FOUND*/ while(i<=j&&find=0) m=(i+j)/2; if(k=am)/*FOUND*/ find=0;/*FOUND*/ else if(k>am) j=m-1; else i=m+1; /*FOUND*/ if(find=1) cout<<"found"<
10、<m; else cout<<"no found"答案: 1). while(i<=j&&find=0) 2). find=1; 3). else if(k<am) 4). if(find=1)第7题 /*-【程序改错】-题目:打印扬辉三角形 1 1 1 1 2 1 1 3 3 1 1 3 6 4 1-注意:不可以增加或删除程序行,也不可以更改程序的结构。-*/#include <iostream.h>void main() int a55,i,j; for(i=0;i<5;i+) /*FOUND*/ ai1=
11、1; aii=1; for(j=1;j<=i-1;j+)/*FOUND*/ aij=ai-1j-1+aij; for(i=0;i<5;i+) /*FOUND*/ for(j=0;j<5;j+)/*FOUND*/ cout<<aji<<" " cout<<endl; 答案: 1). ai0=1; 2). aij=ai-1j-1+ai-1j; 3). for(j=0;j<=i;j+) 4). cout<<aij<<" "第8题 /*-【程序改错】-题目:用”筛选法”判断并输出
12、1-100之间的素数.-注意:不可以增加或删除程序行,也不可以更改程序的结构。-*/#include <iostream.h>void main() int a101,i,j; for(i=1;i<=100;i+) ai=1; a1=0; for(i=2;i<=50;i+) /*FOUND*/ j=1; while (i*j<=100) /*FOUND*/ aij=0; j+; for(i=1;i<=100;i+)/*FOUND*/ if(ai =1)/*FOUND*/ cout<<ai;答案: 1). j=2; 2). ai*j=0; 或 aj
13、*i=0; 3). if(ai=1) 或 if(ai) 4). cout<<i;第9题/*-【程序改错】-题目:下面函数chnum将一个整数字符串转换为一个整数。-注意:不可以增加或删除程序行,也不可以更改程序的结构。-*/#include<string.h>#include<iostream.h> int chnum (char *str) int i,j,k,h,len,L,num=0; /*FOUND*/ int L=n=strlen(str);/*FOUND*/ for(i=0;i<L;i+) ; k=1; j=len=len-1; cout&
14、lt;<len<<endl; while (j>0) k=k*10; /*FOUND*/ j+; /*FOUND*/ h=*(str+4-len)-'0' num=num+h*k; return num; void main() int t;char *a="1234" t=chnum(a); cout<<t<<endl;答案: 1). L=len=strlen(str); 2). for(i=0;i<L;i+) 3). j-; 或 -j; 或 j=j-1; 或 j-=1; 4). h=*(str+i)-
15、'0'第10题/*-【程序改错】-题目:将1到255之间的任意一个十进制转换成二进制.-注意:不可以增加或删除程序行,也不可以更改程序的结构。-*/#include <iostream.h>void main() int a8,k,m,n,i;/*FOUND*/ cin<<n; k=0; while(n!=0) m=n/2; ak=n%2;/*FOUND*/ k-;/*FOUND*/ m = n; /*FOUND*/ for(i=k;i>=1;i+) cout<<ai;答案: 1). cin>>n; 2). k+; 3).
16、n=m; 4). for(i=k-1;i>=0;i-)第11题 /*-【程序改错】-题目:打印出1000以内的同时满足如下条件的数 个位数字与十位数字之和除以10所得的余数等于百位数字-注意:不可以增加或删除程序行,也不可以更改程序的结构。-*/#include <math.h>#include <iostream.h>void main() /*FOUND*/ int a,b,c,d,i,j; for (i=3;i<1000;i+)/*FOUND*/ for (j=2;flag=1;j<=sqrt(i)&&flag;j+)/*FOUN
17、D*/ if(i%j=1) flag=0;/*FOUND*/ if(flag=0) a=i/100; b=(i-a*100)/10; c=i-a*100-b*10; d=b+c-(c+b)/10*10; if (d=a) cout<<i; 答案: 1). int a,b,c,d,i,j,flag; 2). for (j=2,flag=1;j<=sqrt(i)&&flag;j+) 3). if(i%j=0) flag=0; 或 if(!i%j=0) flag=0; 4). if(flag=1) 或 if(flag) 或 if(flag !=0)第12题 /*-【
18、程序改错】-题目:统计100-300之间同时被3,7整除的数的个数,输出这些数 的个数及它们的平方和.-注意:不可以增加或删除程序行,也不可以更改程序的结构。-*/#include <iostream.h>void main() float ns;/*FOUND*/ int k; n=0;/*FOUND*/ ns=1; for(k=100;k<=300;k+) /*FOUND*/ n37=7%k+3%k;/*FOUND*/ if(n37=0) n+; ns=ns+k*k; cout<<n<<ns;答案: 1). int n37,k,n; 2). ns=
19、0; 3). n37=k%7+k%3; 4). if(n37=0)第13题/*-【程序改错】-题目:在100,5000之间打印出各位数字和为5的所有整数的个数.-注意:不可以增加或删除程序行,也不可以更改程序的结构。-*/#include <iostream.h>void main() int a,b,c,d,k,i; k=0; for(i=104;i<=500;i+) /*FOUND*/ a=i%100; b=(i-a*100)/10; c=i-a*100-b*10; /*FOUND*/ if(a+b+c<>5) k+; for(i=1000;i<=500
20、0;i+) a=i/1000; b=(i-a*1000)/100; /*FOUND*/ c=(i-A*1000-b*100)/100; d=i-a*1000-b*100-c*10;/*FOUND*/ if(a+b+c=5) k+; cout<<k;答案: 1). a=i/100; 2). if(a+b+c=5) k+; 3). c=(i-a*1000-b*100)/10; 4). if(a+b+c+d=5) k+;第14题 /*-【程序改错】-题目: 下列程序是求某班级的最高成绩、最低成绩和平均成绩 的程序,输入-1表示结束。-注意:不可以增加或删除程序行,也不可以更改程序的结构。
21、-*/#include <iostream.h>void main() float cj,sum,max,min,ave; int n; /*FOUND*/ n=0 cin>>cj; /*FOUND*/ sum=0;/*FOUND*/ min=max=0; cin>>cj;/*FOUND*/ while(cj!=0) n+; sum+=cj; if(cj>max) max=cj; if(cj<min) min=cj; cin>>cj; ave=sum/n; cout<<ave<<max<<min;答
22、案: 1). n=1; 2). sum=cj; 3). min=max=cj; 4). while(cj>=0)第15题/*-【程序改错】-题目:计算T=1-1/2+2/3-3/4+-29/30-注意:不可以增加或删除程序行,也不可以更改程序的结构。-*/#include <iostream.h>void main()/*FOUND*/ int t1,f,k; float t=1;/*FOUND*/ f=1;/*FOUND*/ for(k=1;k<=30;k+) /*FOUND*/ t1=(k-1)/k; t+=t1*f; f=-f; cout<<t;答案:
23、 1). int f,k;float t1,t=1; 2). f=-1; 3). for(k=2;k<=30;k+) 4). t1=(float)(k-1)/k; 或 t1=(k-1)/(float)k; 或 t1=1.0*(k-1)/k;第16题 /*-【程序改错】-题目:计算输出100-200之间素数的平方根之和-注意:不可以增加或删除程序行,也不可以更改程序的结构。-*/#include<math.h>#include<iostream.h>void main() float s,sn; int n,k,l; s=0;/*FOUND*/ for(n=100;
24、n<=199;n+=2) sn=sqrt(n);/*FOUND*/ l=0;/*FOUND*/ for(k=2;k<=n&&l;k+) if(n%k=0)l=0;/*FOUND*/ if(l=0) s+=sn; cout<<s;答案: 1). for(n=101;n<=199;n+=2) 或 for(n=100;n<=199;n+=1) 或 for(n=100;n<=200;n+=1) 或 for(n=101;n<=200;n+=2) 2). l=1 3). for(k=2;k<n&&l=0;k+) 4).
25、if(l!=0)第17题/*-【程序改错】-题目:计算并输出100200之间的所有素数的平方根之和.-注意:不可以增加或删除程序行,也不可以更改程序的结构。-*/#include <math.h>#include <iostream.h>void main( ) float s,sn; int n,k,f,m; s=0.0; for(n=101;n<=199;n+=2) sn=sqrt(n); m=sn; k=3; f=0;/*FOUND*/ while(k<=m&&f=0) /*FOUND*/ if(n%k=0) f=0;/*FOUND*/
26、 m+; /*FOUND*/ if (f) s=s+sn; cout<<s;答案: 1). while(k<=m&&f=0) 2). if(n%k=0) f=1; 3). k+; 4). if (!f) s=s+sn; 或 if (f=0) s=s+sn;第18题 /*-【程序改错】-题目: 一个数列的头三个数是0,0,1,第四个数是前三个数之和, 以后每个都是前三个数之和,问当该数列中的某个数值达 到10的15次方,它是该数列的第几项?-注意:不可以增加或删除程序行,也不可以更改程序的结构。-*/#include <iostream.h>void
27、 main()/*FOUND*/float i,j,k,l,n; i=j=0;k=1;n=3;while(k<1e15)n+;l=i+j+k;/*FOUND*/j = i;/*FOUND*/k = j;/*FOUND*/l=k;cout<<n;答案: 1). double i,j,k,l,n; 2). i=j; 3). j=k; 4). k=l;第19题 /*-【程序改错】-题目:类B是类A的友元类,程序的运行结果为: 20 10-注意:不可以增加或删除程序行,也不可以更改程序的结构。-*/#include<iostream.h>#include<math.
28、h>class Aprivate: int x;public: A(int a)x=a;/*FOUND*/ class B;/*FOUND*/friend Bprivate: int x;public: B(int a)x=a;/*FOUND*/ void set(A &aa)x=A.x; int get()return x;void main()A a(10);B b(20);cout<<b.get()<<endl;b.set(a);/*FOUND*/cout<<a.get()<<endl;答案: 1). friend class
29、 B; 2). class B 3). void set(A &aa)x=aa.x; 4). cout<<b.get()<<endl;二、程序设计 第1题 /*-【程序设计】-输入一组非0整数(以输入0作为输入结束标志)到一维数组中,设计一程序,求出这一组数的平均数,并分别统计出这一组数中正数和负数的个数。-注意:程序编写在下面的Promgram和End区域。-*/*Program*/ #include <iostream.h>void main()int a100,b100,c100;int max2,max1,j=0,k=0,t;float av
30、g,s=0;cout<<"请输入一组整数(o结束):"int i=0;docin>>ai;s+=ai;i+;while(ai-1);t=i-1;cout<<"共输入"<<t<<"个整数!"<<endl;for(i=0;i<=t;i+)if(ai>0)j+;else if(ai<0) k+;avg=s/t;cout<<"这组数的平均值为"<<avg<<endl;cout<<&quo
31、t;其中输入的正整数个数为:"<<j<<endl;cout<<"其中输入的负整数个数为:"<<k<<endl;/* End */ 第2题 /*-【程序设计】-用cin.getline()将一个字符串出入到字符数组中,按反序输出。例如:输入"Abcd e",则输出"e dcbA"。-注意:程序编写在下面的Promgram和End区域。-*/*Program*/ #include <iostream.h>void main()char s30;cout<<"请输入字符串:"cin.getline(s,30);int i=0;while(si+!='0');i-=2;cout<<"
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 我的社区个人工作计划
- 内部工程项目承包合同样本
- 出售车库定金合同样本
- 公司收押金合同样本
- 农村房顶维修安全合同标准文本
- 农村建房钢材合同样本
- 中介房产抵押合同标准文本
- 劳动教育贯穿计划
- 冰箱转让合同标准文本
- 农村大队部修建合同标准文本
- 河南省鹤壁市校联考2023-2024学年八年级下学期期中语文试题
- 公共部位装修合同
- 2024年广东省惠州市惠城区中考二模物理试卷
- 2024年山东省青岛市部分学校九年级中考二模数学试题(含答案)
- 中考语文专题复习十议论性文本阅读市赛课公开课一等奖省名师获奖课件
- 医院化粪池清掏合同
- 医院手卫生知识考试题库100题(含答案)
- 重庆开放大学《工具书与文献检索》形考测验1-4答案
- 2023年北京海淀初二(下)期末物理试卷及答案
- 市场营销策划(本)-形考任务二(第五~七章)-国开(CQ)-参考资料
- 注射用卡瑞利珠单抗-临床用药解读
评论
0/150
提交评论