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

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

试卷编号:8172所属语言:C++试卷方案:题库182道设计题试卷总分:1820分共有题型:1种一、程序设计共182题(共计1820分)第1题(10.0分)题号:664/*-------------------------------------------------------【程序设计】---------------------------------------------------------题目:已知有结构体类型定义:structnode{intdata;structnode*nextPtr;};请编写函数voidcomputingList(node*head),对head指向的单向链表,分别统计结点的data成员值为负数、0、正数的结点个数分别存入变量negtive、zero、positive中。-------------------------------------------------------注意:部分源程序给出如下。请勿改动主函数main和其它函数中的任何内容,仅在函数的花括号中填入所编写的若干语句。-------------------------------------------------------*/#includeiostream#includefstreamusingnamespacestd;voidgrading(int,int,int);structnode{intdata;structnode*nextPtr;};voidcomputingList(node*head){intpositive=0,negtive=0,zero=0;/**********Program**********//**********End**********///忽略阅读grading(positive,zero,negtive);//忽略阅读结束}structnode*createList(void){node*head=NULL,*p1,*p2;inti;inta[10]={-1,3,4,0,9,4,11,-6,2,-10};head=p2=p1=newnode;p1-data=a[0];for(i=1;i10;i++){p1=newnode;p1-data=a[i];p2-nextPtr=p1;p2=p1;}p2-nextPtr=NULL;return(head);}intmain(){structnode*head;head=createList();computingList(head);return0;}//以下忽略阅读voidgrading(inta,intb,intc){fstreammyfile;myfile.open(out.txt,ios::out);myfileabcendl;myfile.close();}答案:structnode*p;p=head;while(p!=NULL){if(p-data0)positive++;elseif(p-data0)negtive++;elseif(p-data==0)zero++;p=p-nextPtr;}第3题(10.0分)题号:672/*------------------------------------------------【程序设计】--------------------------------------------------题目:函数mySum(inta[][],intm,intn)返回二维整数数组a中所有元素的和,m、n分别为数组a的行数、列数。填写适当的代码,使得mySum()完成正确的功能。--------------------------------------------------注意:部分源程序给出如下。请勿改动主函数main和其它函数中的任何内容,仅在函数的花括号中填入所编写的若干语句。------------------------------------------------*/#includeiostream#includefstreamusingnamespacestd;intmySum(inta[2][3],intm,intn);voidgfkd();voidmain(){inta[2][3]={{1,2,3},{4,5,6}};coutmySum(a,2,3)endl;//--------main()函数此后部分可以不阅读-----------gfkd();}intmySum(inta[2][3],intm,intn){/***************Program*****************//***************End*****************/}voidgfkd(){fstreammyF;inta[2][3];myF.open(in.dat,ios::in);myF.read((char*)a,sizeof(int)*2*3);myF.close();myF.open(out.dat,ios::out);myFmySum(a,2,3);myF.close();}答案:inti,j,s=0;for(i=0;im;i++)for(j=0;jn;j++)s=s+a[i][j];returns;第4题(10.0分)题号:588/*------------------------------------------------【程序设计】--------------------------------------------------题目:求1-1000之间同构数的个数n。同构数是:某数与其自身的平方数的后几位相同。例如:25×25=625,25是同构数。--------------------------------------------------注意:部分源程序给出如下。请勿改动主函数main和其它函数中的任何内容,仅在函数的花括号中填入所编写的若干语句。------------------------------------------------*/#includefstream#includeiostreamusingnamespacestd;voidwriteinfile(intn);voidmain(){intm,k,j,n=0;for(m=1;m=1000;m++){/**********Program**********/inti=1;k=m;j=m*m;while(k!=0){k/=10;i*=10;}if(j%i==m)n++;/**********End**********/}writeinfile(n);}voidwriteinfile(intn){fstreammyfile;myfile.open(f.txt,ios::out);myfilenendl;myfile.close();}答案:inti=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中。--------------------------------------------------注意:部分源程序给出如下。请勿改动主函数main和其它函数中的任何内容,仅在函数的花括号中填入所编写的若干语句。------------------------------------------------*/#includeiostream#includefstream#includestringusingnamespacestd;#definen5#defineM20voidwwjt(intlen);charstr1[n][M];voidmain(){inti;charstr[n][M];ifstreaminfile(in.txt,ios::in);if(!infile.is_open()){coutFileOpenError!endl;return;}for(i=0;in;i++)infilestr[i];infile.close();intj=0;/**********Program**********//**********End**********/wwjt(j);}voidwwjt(intlen){ofstreamoutfile(out.txt,ios::out);if(!outfile.is_open()){coutFileOpenErrorendl;return;}for(inti=0;ilen;i++)outfilestr1[i]\n;outfile.close();}答案:for(i=0;in;i++){if((strcmp(str[i],A)=0)&&(strcmp(str[i],B)0)){strcpy(str1[j],str[i]);j++;}}第10题(10.0分)题号:673/*------------------------------------------------【程序设计】--------------------------------------------------题目:函数myStrCat(char*dst,char*src)将字符串src连接到字符串dst的后面。填写适当的代码,使得mySum()完成正确的功能。--------------------------------------------------注意:部分源程序给出如下。请勿改动主函数main和其它函数中的任何内容,仅在函数的花括号中填入所编写的若干语句。------------------------------------------------*/#includeiostream#includefstreamusingnamespacestd;voidmyStrCat(char*dst,char*src);voidgfkd();voidmain(){chardst[100]=Hello,;charsrc[100]=Goodluck!;myStrCat(dst,src);coutdstendl;//--------main()函数此后部分可以不阅读-----------gfkd();}voidmyStrCat(char*dst,char*src){/***************Program*****************//***************End*****************/}voidgfkd(){fstreammyF;chardst[100],src[100];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);myFdst;myF.close();}答案:inti=0,len;len=strlen(dst);while(src[i])dst[len++]=src[i++];dst[len]='\0';第11题(10.0分)题号:723/*------------------------------------------------【程序设计】--------------------------

1 / 289
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功