




已阅读5页,还剩292页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
试卷编号:8172所属语言:C+试卷方案:题库182道设计题试卷总分:1820分共有题型:1种一、程序设计 共182题 (共计1820分)第1题 (10.0分) 题号:664/*-【程序设计】- 题目:已知有结构体类型定义: struct node int data; struct node *nextPtr; ; 请编写函数void computingList(node * head),对head 指向的单向链表,分别统计结点的data成员值为负数、0、 正数的结点个数分别存入变量negtive、zero、positive中。 - 注意:部分源程序给出如下。请勿改动主函数main和其它函数中 的任何内容,仅在函数的花括号中填入所编写的若干语句。 -*/#include #include using namespace std;void grading(int,int,int);struct node int data; struct node *nextPtr;void computingList(node * head) int positive=0,negtive=0,zero=0; /*Program*/ /* End */ /忽略阅读 grading(positive,zero,negtive); /忽略阅读结束struct node *createList(void) node *head=NULL, *p1, *p2; int i; int a10 = -1,3,4,0,9,4,11,-6,2,-10; head=p2=p1= new node; p1-data = a0; for (i=1; idata = ai; p2-nextPtr=p1; p2=p1; p2-nextPtr=NULL; return (head);int main() struct node *head; head = createList(); computingList(head); return 0;/以下忽略阅读void grading(int a,int b,int c) fstream myfile; myfile.open(out.txt,ios:out); myfilea b cdata 0)positive+; else if (p-data data = 0)zero+; p=p-nextPtr;第2题 (10.0分) 题号:522/*-【程序设计】-题目:设计函数char capitalize(char);将小写英文字符变为对应的大写字符。- 注意: 1.部分源程序给出如下。请勿改动主函数main和其它函数中的任何内容,仅在*program* 和*end*所标记的区域内完成题干要求的函数功能。 2./标记开始与/标记结束内的程序可以忽略阅读。-*/#include#includeusing namespace std;void wwjt();/*Program*/char capitalize(char ch)if(ch=a&ch=z)return ch-a+A;else return ch;/* End */int main() int i=0; char cp30; cout请输入包含小写字母的句子:endl; cin.getline(cp,30); while(cpi!=0) coutcapitalize(cpi+); coutendl; /忽略阅读 wwjt(); /忽略阅读结束 return 0;/忽略阅读void wwjt() char ins250; int i=0; fstream infile, outfile; infile.open (in.txt,ios:in); outfile.open(out.txt,ios:out); infile.getline (ins,250); while(insi!=0) outfile=a&ch=z)return ch-a+A;else return ch;第3题 (10.0分) 题号:672/*-【程序设计】-题目:函数mySum(int a , int m, int n)返回二维 整数数组a中所有元素的和,m、n分别为数组a的行 数、列数。填写适当的代码,使得mySum()完成正确 的功能。-注意:部分源程序给出如下。请勿改动主函数main和其它 函数中的任何内容,仅在函数的花括号中填入所编 写的若干语句。-*/#include#include using namespace std;int mySum(int a23, int m, int n);void gfkd();void main() int a23=1,2,3, 4,5,6; cout mySum(a, 2, 3) endl; / - main()函数此后部分可以不阅读 - gfkd();int mySum(int a23, int m, int n)/* Program */ /* End */void gfkd() fstream myF; int a23; myF.open(in.dat,ios:in); myF.read(char *)a, sizeof(int)*2*3); myF.close(); myF.open(out.dat,ios:out); myF mySum(a, 2, 3); myF.close();答案:int i, j, s=0;for (i=0; im; i+)for (j=0; jn; j+)s = s + aij;return s;第4题 (10.0分) 题号:588/*-【程序设计】-题目: 求1-1000之间同构数的个数n。同构数是: 某数与其自身的平方数的后几位相同。 例如:2525625,25是同构数。-注意:部分源程序给出如下。请勿改动主函数main和其它 函数中的任何内容,仅在函数的花括号中填入所编 写的若干语句。-*/#include#includeusing namespace std;void writeinfile(int n);void main() int m,k,j,n=0; for(m=1;m=1000;m+) /*Program*/ int i=1;k=m;j=m*m;while(k!=0)k/=10;i*=10;if(j%i=m)n+; /* End */ writeinfile(n);void writeinfile(int n) fstream myfile; myfile.open(f.txt,ios:out); myfilenendl; myfile.close();答案: int i=1;k=m;j=m*m;while(k!=0)k/=10;i*=10;if(j%i=m)n+;第5题 (10.0分) 题号:725/*-【程序设计】-题目:补充函数aver的代码,该函数计算n个学生成绩(通 过参数cj传入)的平均分数。-注意:部分源程序给出如下。仅在标有Program和End 的注释行之间补充代码,请勿改动其它内容。-*/#include #include using namespace std;void grading();float aver(int cj,int n)/*Program*/* End */int main() grading(); return 0;void grading() fstream infile,myfile; int b50; int i; infile.open(in.txt,ios:in); myfile.open(out.txt,ios:out); for(i=0;ibi; myfile(int)aver(b,50)endl; infile.close(); myfile.close();答案: int sum = 0;int i;for( i=0;in;i+)sum += cji;return (float)sum/n; 第6题 (10.0分) 题号:709/*-【程序设计】-题目:输入两个正整数m和n,求其最大公约数和最小公倍数。-注意:部分源程序给出如下。请勿改动主函数main和其它 函数中的任何内容,仅在函数的花括号中填入所编 写的若干语句。-*/#include #include using namespace std;int grading();int gcd(int m,int n) int r; r=m%n; /*Program*/ /* End */ return n;int main() int m,n; coutmn; if(mn) int temp; temp=m; m=n; n=temp; coutm和n的最大公约数是gcd(m,n)endl; coutm和n的最小公倍数是m*n/gcd(m,n)endl;/忽略阅读 grading();/忽略阅读结束 return 0;/以下忽略阅读int grading() int m, n; ifstream infile(in.txt, ios:in); ofstream outfile(out.txt,ios:out); if(!infile.is_open() | !outfile.is_open() coutFile Open Error!endl; return -1; for (int i=0; i m n; outfilegcd(m,n) m*n/gcd(m,n)endl; infile.close(); outfile.close(); return 0;答案:while(r!=0)m=n;n=r;r=m%n;第7题 (10.0分) 题号:667/*-【程序设计】-题目:编程计算,计算公式如右图所示。-注意:部分源程序给出如下。请勿改动主函数main和其它 函数中的任何内容,仅在函数的花括号中填入所编 写的若干语句。-*/#include #include using namespace std;int calc()/*Program*/* End */void main(void) int value; value = calc(); cout 累计和s为: value endl; fstream outfile; outfile.open(out.txt, ios:out); outfile 累计和s为: value endl; outfile.close();答案:int i, k, s;s=0;for (i=1; i=20; i+)for (k=1; k=3; k+)s = s + (i+1)*(i+1)*(k+2)*(k+2);return s;第8题 (10.0分) 题号:265/*-【程序设计】-题目: 完成函数cal,该函数计算数组a中的所有数据的 最大值及最小值以及它们的差,并存入到全局变 量max、min、ca中。例如数组a中包含8,43,7, 18,2,56,37,123,25,26则max=123,min=2, ca=121。 -注意:部分源程序给出如下。请勿改动主函数main和其它 函数中的任何内容,仅在函数的花括号中填入所编 写的若干语句。-*/#include #include using namespace std;int grading();int max, min, ca;void cal(int a, int size) /*Program*/ /* End */int main() int a100 = 8,43,7,18,2,56,37,123,25,26; cal(a,10); coutmax=maxendl; coutmin=minendl; coutca=caendl;/忽略阅读 grading();/忽略阅读结束 return 0;/以下忽略阅读int grading() fstream infile,outfile; int a100, i; infile.open(in.txt,ios:in); outfile.open(out.txt,ios:out); for(i=0;iai; cal(a,20); outfilemax min caendl; for(i=0;iai; cal(a,15); outfilemax min caendl; infile.close(); outfile.close(); return 0;答案:int i;max=min=a0;for(i=0; imax)max=ai;if(aimin)min=ai;ca=max-min;第9题 (10.0分) 题号:707/*-【程序设计】-题目:从文件中读入n个字符串,将其中以字母A开头的字符串复制 到二维字符数组str1中。-注意:部分源程序给出如下。请勿改动主函数main和其它 函数中的任何内容,仅在函数的花括号中填入所编 写的若干语句。-*/# include # include # include using namespace std;# define n 5# define M 20void wwjt(int len);char str1nM;void main() int i; char strnM; ifstream infile(in.txt,ios:in); if(!infile.is_open() coutFile Open Error!endl; return; for(i=0;istri; infile.close(); int j=0; /*Program*/ /* End */ wwjt(j);void wwjt(int len) ofstream outfile(out.txt,ios:out); if(!outfile.is_open() coutFile Open Errorendl; return; for(int i=0;ilen;i+) outfilestr1in; outfile.close();答案:for(i=0;i=0)&(strcmp(stri,B)0) strcpy(str1j,stri); j+; 第10题 (10.0分) 题号:673/*-【程序设计】-题目:函数myStrCat(char *dst, char *src)将字符串src 连接到字符串dst的后面。填写适当的代码,使得 mySum()完成正确的功能。-注意:部分源程序给出如下。请勿改动主函数main和其它 函数中的任何内容,仅在函数的花括号中填入所编 写的若干语句。-*/#include#include using namespace std;void myStrCat(char *dst, char *src);void gfkd();void main() char dst100=Hello, ; char src100=Good luck!; myStrCat(dst, src); cout dst endl; / - main()函数此后部分可以不阅读 - gfkd();void myStrCat(char *dst, char *src)/* Program */ /* End */void gfkd() fstream myF; char dst100, src100; myF.open(in.dat,ios:in); myF.read(dst, 100); myF.read(src, 100); myF.close(); myF.open(out.dat,ios:out); myStrCat(dst, src); myF dst; myF.close();答案:int i=0, len;len = strlen(dst);while (srci)dstlen+ = srci+;dstlen = 0;第11题 (10.0分) 题号:723/*-【程序设计】-题目:编写函数eachPrime,判断两个正整数m和n是否为 互质数。若是,返回1;否则,返回-1。 互质数:最大公约数为1的两个数称为互质数。-注意:部分源程序给出如下。请勿改动主函数main和其它 函数中的任何内容,仅在函数的花括号中填入所编 写的若干语句。-*/#include #include #include using namespace std;int eachPrime( int m, int n) /*Program*/ /* End */void grading();int main() int num1, num2, result; cout 0):n; cin num1 num2; if ( num1=0 | num2=0 ) cout Input error!n; result = eachPrime(num1, num2); if(result = 1) cout num1 和 num2 是互质数!n; else cout num1 和 num2 不是互质数!n;/忽略阅读 grading();/忽略阅读结束 return 0;/以下忽略阅读void grading() int n1, n2, result; fstream infile172,myfile; infile172.open(in172.txt,ios:in); myfile.open(out172.txt,ios:out); for(int i=0; i n1 n2; result = eachPrime(n1, n2); myfile result endl; infile172.close(); myfile.close();答案:int temp;while (n != 0) temp = m; m = n; n = temp % n; if(m = 1)return 1;elsereturn -1;第12题 (10.0分) 题号:529/*-【程序设计】-题目:定义函数double max(double a,double b,double c)实现求三个实数中的最大值。 -注意:1.部分源程序给出如下。请勿改动主函数main和其它函数中的任何内容,仅在*program* 和*end*所标记的区域内完成题干要求的函数功能。2./忽略阅读与/忽略阅读结束内的程序可以忽略阅读。-*/#include#includeusing namespace std;void wwjt();/*Program*/* End */void main() coutmax(3.2,7.4,4.5)endl; /忽略阅读 wwjt(); /忽略阅读结束/忽略阅读void wwjt() double m,n,l; fstream infile, outfile; infile.open (in.txt,ios:in); outfile.open(out.txt,ios:out); for (int i=0;im; infilen; infilel; outfilemax(m,n,l)b&ac) return a;if(ba&bc) return b;return c;第13题 (10.0分) 题号:697/*-【程序设计】-题目:邮政汇款的收费标准是汇款金额的1%,但单笔收费上限是50元。 编写一个函数double shouFei(double money),根据输入的 汇款金额money,返回所要收取的费用。 -注意:仅在标有Program和End的注释行之间补充填写代码。 请勿改动主函数main和其它任何已有内容。-*/#include #include void writeinfile( );/*Program*/* End */void main() coutm; cout本次汇款收费:shouFei(m)endl; writeinfile( );void writeinfile( ) double m; ifstream inFile(in.txt, ios:in | ios:nocreate); if(!inFile) cerr无法打开数据文件in.txt。需要核查!endl; return ; fstream myfile; myfile.open(out.txt,ios:out); if(!my
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理招聘专业测试题及答案
- 消防安全演练培训儿童课件
- 物业财务部的年终工作总结
- 中通快递卸车述职报告
- 初中科学:细胞的结构与功能
- 春夏秋冬课件生字教学
- 公司搬迁工作汇报
- 护理学科研标书
- 2025至2030中国心脏消融仪行业发展趋势分析与未来投资战略咨询研究报告
- 颅脑损伤患者康复护理
- 人教版(2024)七年级上册生物第一单元第一、二章综合测试卷(含答案)
- (新教材)人教版二年级上册小学数学教学计划+教学进度表
- 2025年版浙江省劳动合同模板
- 2025年广东中考道德与法治试题解读及答案讲评课件
- 2.2社会主义制度在中国的确立 高中政治必修一人教统编版教学课件
- 孕产妇情绪管理课件
- 光伏施工安全管理方案
- 警务实战教官教学法课件
- 中式面点初级培训课件
- 2025年N1叉车司机模拟考试1000题及答案
- 2025高等教育人工智能发展报告
评论
0/150
提交评论