C++程序设计题库(182道含答案).doc

上传人:豆**** 文档编号:23961409 上传时间:2022-07-02 格式:DOC 页数:1327 大小:955.50KB
返回 下载 相关 举报
C++程序设计题库(182道含答案).doc_第1页
第1页 / 共1327页
C++程序设计题库(182道含答案).doc_第2页
第2页 / 共1327页
点击查看更多>>
资源描述

《C++程序设计题库(182道含答案).doc》由会员分享,可在线阅读,更多相关《C++程序设计题库(182道含答案).doc(1327页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateC+程序设计题库(182道含答案)试卷编号:8172试卷编号:8172所属语言:C+试卷方案:题库182道设计题试卷总分:1820分共有题型:1种一、程序设计 共182题 (共计1820分)第1题 (10.0分) 题号:664/*-【程序设计】- 题目:已知有结构体类型定义: struct node int data; struct node *nextPtr; ;

2、请编写函数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(no

3、de * 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-nextPt

4、r=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;第3题 (10.0分) 题号:672/*-【程序设计】-题目:函数mySum(

5、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()函数此后

6、部分可以不阅读 - 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 + a

7、ij;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

8、;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+;第9题 (10.0分) 题号:707/*-【程序设计】-题目:从文件中读入n个字符串,将其中以字母A开头的字符串复制 到二维字符数组str1中。-注意:部分源程序给出如下

9、。请勿改动主函数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

10、(); 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/*-【程序设计】-题目:函数mySt

11、rCat(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); cou

12、t 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

13、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, in

14、t 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(

15、) 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;elser

16、eturn -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

17、)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元

18、。 编写一个函数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

19、| ios:nocreate); if(!inFile) cerr无法打开数据文件in.txt。需要核查!endl; return ; fstream myfile; myfile.open(out.txt,ios:out); if(!myfile.is_open() cerr无法打开数据文件out.txt。需要核查!endl; return ; for(int i=0; im; if(inFile.fail() break; myfileshouFei(m)endl; inFile.close(); myfile.close();答案:double shouFei(double money)

20、double sf = 0;if(money 50.0)sf = 50.0;return sf;第14题 (10.0分) 题号:695/*-【程序设计】-题目:请输出个、十、百位数字各不相同的所有三位数, 结果写入f2.txt中,一个数一行。要求:输出时按从小到大的顺序输出。-注意:部分源程序给出如下。请勿改动主函数main和其它 函数中的任何内容,仅在注释形式标识Program和 End之间填入所编写的若干语句。-*/#include #include using namespace std;int main() int i, j, k, count = 0; ofstream output

21、; output.open(f2.txt, ios:out); /*Program*/ /* End */ output.close(); cout Press the enter key to exit! in_avail() + 1); return 0;答案:for(i = 0; i 10; i+)for(j = 0; j 10; j+)for(k = 1; k 10; k+)if(i != j & j != k & i != k)output k j i;count+;if(count = 60)count = 0;output endl;elseoutput ;第15题 (10.0分

22、) 题号:647/*-【程序设计】-题目:下面程序中的函数char *delc(char *s, char c);去掉字符串s中的字符c,并将新得到的字符串返回,完成该函数。 -注意:部分源程序给出如下。请勿改动主函数main和其它 函数中的任何内容,仅在函数的花括号中填入所编 写的若干语句。-*/#include#include#includeusing namespace std;char *delc(char *s, char c);int main() int i; char s100,c = a; fstream infile,outfile; infile.open(in.txt,

23、ios:in); outfile.open(out.txt,ios:out); for (i=0;is; delc(s, c); outfilesendl; c+; infile.close(); outfile.close(); return 0;char *delc(char *s, char c)/*Program*/ /* End */答案:char *p;while (p = strchr(s,c)strcpy(p,p+1);return s;第16题 (10.0分) 题号:595/*-【程序设计】-题目:已知三个数a,b,c,按由小到大的顺序存入a,b, c中并输出。 三个数a,b,c的值从已有文件infile596.txt中读 取。-注意:部分源程序给出如下。请勿改动主函数main和其它 函数中的任何内容,仅在函数的花括号中填入所编 写的若干语句。-*/#include#includeusing namespace std;#include void writeinfile(int a,int b,int c);void main() int a,b,c,t; ifstream ifile; ifile.open (infile596.txt,ios:in); if(! ifile ) cout文件打开失败; return 1;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁