




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
哈理工C+上机题库 程序部分 princesunny7总结整理题目:函数 fun 的功能是:从m个学生的成绩中统计出高于和等于平1均分的学生人数, 此人数由函数值返回。1题目:用while循环编程,求自然数1至100之间各奇数平方和 sum 。2题目:以下程序的功能是以每行5个数来输出300以内能被7或17整除的偶数,并求出其和。3题目: 利用顺序排序法将10个数按降序排列5题目:编程求任意给定的n个数中的奇数的连乘积,偶数的平方和以及0的个数。6题目: 将10进制正整数n转化成k进制(K9)按位输出到 m.8题目: 一个数列,它的第一项是0,第二项是1,以后每项都是前两项之和,求前20项之和 s9题目:以下程序把两个数按由大到小的顺序输出来.10题目:有一整数数组x(正序排列),判断是否有数组元素xi=i的情况发生。13题目:以下程序的功能是将一个数组中的元素按逆序存放。14题目: 有若干个数放入数组中,计算其中正数的平均值aver.16第1题程序改错(8分)题目:函数 fun 的功能是:从m个学生的成绩中统计出高于和等于平均分的学生人数, 此人数由函数值返回。 平均分通过形参传回,输入学生成绩时, 用-1结束输入,由程序自动统计学生人数。 例如,若输入 8 名学生的成绩,输入形式 如下: 80.5 60 72 90.5 98 51.5 88 64 -1 结果为: The number of students :4 Ave = 75.56。 -注意:不可以增加或删除程序行,也不可以更改程序的结构。 -*/ #include #define N 20 int fun ( float *s, int n, float *aver ) float av, t ; int count , i; count = 0; t=0.0; for ( i = 0; i n; i+ ) t += s i ; av = t / n; coutave = avendl; for ( i = 0; i n; i+ ) /*FOUND*/ if ( s i av ) count+; /*FOUND*/ aver = av; /*FOUND*/ return count void main() float a, s30, aver; int m = 0; couta; while( a0 ) sm = a; m+; cina; coutnThe number of students : fun ( s, m, &aver )endl; coutAve = aver= av ) count+; 2). *aver = av; 3). return count;第1题程序设计(6分)题目:用while循环编程,求自然数1至100之间各奇数平方和 sum 。 -注意:部分源程序给出如下。请勿改动主函数main和其它 函数中的任何内容,仅在函数的花括号中填入所编 写的若干语句。 -*/ #include #include void main() int i=1,sum=0; /*Program*/ /* End */ void wwjt(int); wwjt(sum); void wwjt(int o) int k; fstream myfile; myfile.open(out.txt,ios:out); myfileoendl; myfile.close(); 答案:- while(i=100) sum+=i*i;i+=2; coutsum=sumendl; -第2题程序填空(8分)题目:以下程序的功能是以每行5个数来输出300以内能被7或17整除的偶数,并求出其和。 #include void main() int i,n,sum; sum=0; /*SPACE*/【?】 /*SPACE*/ for(i=1; 【?】 ;i+) /*SPACE*/ if(【?】) if(i%2=0) sum=sum+i; n+; cout i ; /*SPACE*/ if(【?】) cout endl; cout ntotal= sum; 答案: 1). n=0; 2). i=300 或 i=i 或 300i 3). i%7=0|i%17=0 或 !(i%7)|!(i%17) 或 !(i%17)|!(i%7) 或 !(i. 4). n%5=0 或 !(n%5)第1题程序改错(8分)题目:函数fun的功能是:实现交换两个整数的值。例如给a和b分别输入3和6 ,输出为a=6 b=3请改正程序中的4个错误,使它能得出正确的结果。 -注意:不可以增加或删除程序行,也不可以更改程序的结构。 -*/ #include /*FOUND*/ void fun (int a, b) int t; /*FOUND*/ t=a; /*FOUND*/ a=b; /*FOUND*/ b=t; void main() int a,b; coutab; fun(&a,&b); couta=a b=bendl; 答案: 1). void fun (int *a,int *b) 2). t=*a; 3). *a=*b; 4). *b=t;第1题程序设计(6分)题目: 利用顺序排序法将10个数按降序排列 -注意:部分源程序给出如下。请勿改动主函数main和其它 函数中的任何内容,仅在函数的花括号中填入所编 写的若干语句。 -*/ #include #include #include void writeinfile(int n) int k; fstream myfile; myfile.open(f.txt,ios:out); for(k=0;k10;k+) myfilenkendl; myfile.close(); void main() int n10=5,6,4,2,3,7,8,5,6,7,i,j,k; /*Program*/ /* End */ writeinfile(n); 答案:- for(i=0;i9;i+) for(j= i+1;j10;j+) if(ninj) k=nj;nj=ni;ni=k; -第1题程序填空(8分)题目:计算平均成绩并统计90分以上人数。 -*/ #include void main() int n,m;float grade,average=0; /*SPACE*/ n=m=【?】; while(1) /*SPACE*/ 【?】grade; if(grade0)break; n+; average+=grade; /*SPACE*/ if(grade90)【?】; m+; if(n)coutaverage/n mendl; 答案: 1). 0 2). cin 3). continue第2题程序填空(8分)题目:编程求任意给定的n个数中的奇数的连乘积,偶数的平方和以及0的个数。 -*/ #include void main() int r=1,s=0,t=0,n,a,i; coutn; for(i=1;i=n;i+) couta; /*SPACE*/ if(【?】!=0) /*SPACE*/ 【?】=a; else if(a!=0) /*SPACE*/ s+=【?】; else t+; coutr=r,s=s,t=tendl; 答案: 1). a%2 2). r* 3). a*a第1题程序改错(8分)题目:函数fun的功能是:求1到10的阶乘的和。 请改正程序中的错误,使它能得出正确的结果。 #include void fun() int n,j; long s=0,t=1; for(n=1;n=10;n+) /*FOUND*/ s=1; for(j=1;jjiecheng=sendl; void main() fun(); 答案: 1). t=1; 2). t=t*j; 或 t*=j; 或 t=j*t; 3). s=s+t; 或 s+=t; 或 s=t+s; 4). coutjiecheng=sendl;第1题程序设计(6分)题目: 将10进制正整数n转化成k进制(K9)按位输出到 m. -注意:部分源程序给出如下。请勿改动主函数main和其它 函数中的任何内容,仅在函数的花括号中填入所编 写的若干语句。 -*/ #include #include #include void writeinfile(int n) fstream myfile; myfile.open(f.txt,ios:out); myfilenendl; myfile.close(); void main() int m,n,k,l=1; n=8;k=2; /*Program*/ /* End */ writeinfile(m); 答案:- m=0; while(n!=0) m=m+n%k*l; n=n/k;l*=10; -第1题 【程序填空】(8分) 题号:111题目:下面程序的功能是输出1到100之间每位数的乘积大于每位数的和的数。例如数字26,数位上数字的乘积12大于数字之和8。-*/#includevoid main()int n,k=1,s=0,m;for(n=1;ns)coutn0 或 0m 3). m=m/10 或 m/=10第1题 【程序设计】(6分) 题号:268题目: 一个数列,它的第一项是0,第二项是1,以后每项都是前两项之和,求前20项之和 s#include #include #include void writeinfile(int n)fstream myfile;myfile.open(f.txt,ios:out);myfilenendl;myfile.close();void main()int k,a1=0,a2=1,s=a1+a2;/*Program*/* End */writeinfile(s);答案:-for(k=2;k=10;k+)a1=a1+a2;a2=a1+a2;s=s+a1+a2;第1题 (8分) 题号:88【程序改错】题目:以下程序把两个数按由大到小的顺序输出来.#include/*FOUND*/swap(int *p1,*p2)int p; p=*p1;*p1=*p2;*p2=p;void main( )int a,b, *p1,*p2;coutinput a b = ;/*FOUND*/cina,b;/*FOUND*/*p1=&a;*p2=&b;if(ab) swap(p1,p2);couta=a,b=bendl;/*FOUND*/coutmax=p1,min=p2ab; 3). p1=&a;p2=&b; 4). coutmax=*p1,min=*p2endl; 或 coutmax=a,min=bendl;第1题 (8分) 题号:101【程序填空】题目:已知一个数列,它的头两项分别是0和1,从第三项开始以后的每项都是其前两项之和。编程打印此数,直到某项的值超过200为止。-*/#includevoid main()int i,f1=0,f2=1;/*SPACE*/ for(【?】;i+) cout 【?】)break; cout 200)break; if(i%2=0)coutendl; f1+=f2;/*SPACE*/ f2+=【?】; coutendl;答案: 1). i=1 2). 200 3). f1第1题 (8分) 题号:101【程序改错】题目:函数 fun 的功能是:用选择法对数组中的n个元素按从小到大的顺序进行排序。-注意:不可以增加或删除程序行,也不可以更改程序的结构。-*/#include #define N 20 void fun(int a, int n) int i, j, t, p;for (j = 0 ;j n-1 ;j+) /*FOUND*/p = jfor (i = j;i ap)/*FOUND*/p=j;t = ap ; ap = aj ; aj = t;void main()int aN=9,6,8,3,-1,i, m = 5;cout排序前的数据: ;for(i = 0;i m;i+) cout ai;coutendl;fun(a,m);cout排序后的数据:;for(i = 0;i m;i+) cout ai;coutendl;答案: 1). p = j; 2). if(ai ai) 3). p = i;第1题 (6分) 题号:263【程序设计】题目: 已知n,计算n以内的所有素数之和sum 。#include #include #include #include void writeinfile(int n)fstream myfile;myfile.open(f.txt,ios:out);myfilenendl;myfile.close();void main()int n,k,m,l,sum=0;n=100;/*Program*/* End */writeinfile(sum);答案:-for(k=2;kn;k+)m=1;for(l=2;l=k/2&m=1;l+)if(k%l=0)m=0;if(m)sum+=k;coutsum;-第1题 (8分) 题号:108【程序填空】题目:有一整数数组x(正序排列),判断是否有数组元素xi=i的情况发生。-*/int index_search(int x, int n) int first = 0; int last = n-1; int middle, index; index = -1; while (first = last) middle = (first + last) / 2;/*SPACE*/ if (【?】) index = middle; break; /*SPACE*/ else if (【?】) last = middle - 1; else first = middle + 1; return index;#includevoid main(void) int x = -1, 0, 1, 3, 5, 7, 9, 10; int n = sizeof(x)/sizeof(int); int answer, i; coutnIndex Search Program; coutn=; coutnnGiven Array :; for (i = 0; i n; i+) coutxi= 0) coutnnYES, xanswer = answer has been found.endl; else coutnnNO, there is no element with xi = i middle 或 middlexmiddle 3). answer = index_search(x, n)/*-【程序填空】-题目:以下程序的功能是将一个数组中的元素按逆序存放。-*/#include#define N 7void main () static int aN=12,9,16,5,7,2,1,k,s; cout n the origanal array:n; for (k=0;kN;k+) cout ak ;/*SPACE*/ for (k=0;kN/2; 【?】 ) s=ak;/*SPACE*/ 【?】 ;/*SPACE*/ 【?】 ; cout n the changed array:n; for (k=0;kN;k+)/*SPACE*/ 【?】 ak ; coutendl;答案: 1). k+ 或 k=k+1 或 k+=1 或 +k 2). ak=aN-k-1 或 ak=aN-1-k 或 ak=a6-k 或 a*(a+k)=*(a+N-k-1 或 *(a+k). 3). aN-k-1=s 或 aN-1-k=s 或 a6-k=s 或 aN-k-1=s 或 *(a+N-k-1)=s 4). cout第2题 (8分) 题号:70【程序填空】题目:以下程序的功能是将一个字符串中的前N个字符复制到一个字符数组中去,不许使用strcpy函数。-*/#includevoid main ( ) char str180,str280; int i,n; cin.getline(str1,sizeof str1); cin n;/*SPACE*/ for (i=0; 【?】 ;i+)/*SPACE*/ 【?】 ;/*SPACE*/ 【?】 ; cout str2 endl;答案: 1). ii 或 i=i 2). str2i=str1i 或 *(str2+i)=*(str1+i) 或 *(str2+i)=str1i 或 str2i=*(str1+i) 3). str2n=0 或 str2i=0 或 str2n=0 或 st
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 邮储银行2025威海市秋招笔试性格测试题专练及答案
- 工商银行2025三沙市数据分析师笔试题及答案
- 2025年3D打印技术的材料
- 工商银行2025忻州市信息科技岗笔试题及答案
- 交通银行2025沈阳市数据分析师笔试题及答案
- 交通银行2025四平市笔试行测高频题及答案
- 2025行业全球市场发展策略
- 2025数字乡村建设与行业发展报告
- 中国银行2025七台河市秋招笔试英语题专练及答案
- 建设银行2025太原市小语种岗笔试题及答案
- 律所销售培训
- 《发芽小麦粉气流分级产品及其面筋蛋白品质的研究》
- 2025年危险化学品经营单位主要负责人安全生产全国考试题库(含答案)
- 青岛版五四制科学五年级上册科学学生活动手册参考答案
- 社区街道网格员安全培训
- 村卫生室医疗废物管理制度
- GB/T 44698-2024电动踝关节
- 生理学基础题库(46道)
- 月度财务分析报告(3篇)
- 华文版六年级上册书法教案
- 物流消防应急预案
评论
0/150
提交评论