大学计算机《C++程序设计》试题及答案六.docx
- 文档编号:10678719
- 上传时间:2023-02-22
- 格式:DOCX
- 页数:39
- 大小:21.66KB
大学计算机《C++程序设计》试题及答案六.docx
《大学计算机《C++程序设计》试题及答案六.docx》由会员分享,可在线阅读,更多相关《大学计算机《C++程序设计》试题及答案六.docx(39页珍藏版)》请在冰豆网上搜索。
大学计算机《C++程序设计》试题及答案六
大学计算机《C++程序设计》试题及答案
程序设计
第91题(10.0分)题号:
519
/*------------------------------------------------------------------------------
【程序设计】
--------------------------------------------------------------------------------
题目:
将运行结果(100以内素数)存入文件。
------------------------------------------------------------------------------*/
#include
#include
#include
#include
usingnamespacestd;
constintn=100;
intmain(){
*********Program*********
*********End*********
}
答案:
inta[n],i,j;
charch,b[256];
ofstreamofile;
ifstreamifile;
for(i=0;i a[0]=0;//1不是素数,置0 for(i=0;i if(a[i]==0)continue;//该数已经置0,判断下一个数 for(j=i+1;j } ofile.open("myfile2_18.txt"); intcount=0; ofile<<"1-"< "< for(i=0;i if(a[i]! =0){ ofile< count++; if(count%10==0)ofile< } ofile.close(); cout<<"是否要将文件输出? Y或N"< cin>>ch; if(ch=='y'||ch=='Y'){ ifile.open("myfile2_18.txt"); i=0; while(ifile.get(b[i])){//不可用>>,它不能读白字符, if(b[i]=='\n')break; i++; } b[i]='\0'; cout< count=0; while (1){ ifile>>i;//由文件读入 cout< count++; if(count%10==0)cout< if(ifile.eof()! =0)break;//最后一个数据后面可能没有回车,直接为文件结束 } ifile.close(); cout< } return0; 第92题(10.0分)题号: 731 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 题目: 完成函数sortLine(char*line[],intn);的编写。 其参数line是一个指向字符串的指针数组,n是指针 数组元素的个数,该函数对这些字符串按降序排列。 注: 在比较了两个串的大小之后需要交换两个串时,只需 交换line中指向两个字符串的指针,不必交换串本身。 -------------------------------------------------- 注意: 部分源程序给出如下。 仅在标有"Program"和"End"的 注释行之间补充代码,请勿改动其它内容。 ------------------------------------------------*/ #include #include #include usingnamespacestd; voidgrading(); voidsortLine(char*line[],intn) { /**********Program**********/ /**********End**********/ } intmain() { chars[4][10]={"abc","kjf","bde","poi"}; char*line[4]={s[0],s[1],s[2],s[3]}; sortLine(line,4); for(inti=0;i<4;i++) { cout< } //忽略阅读 grading(); //忽略阅读结束 return0; } //以下忽略阅读 voidgrading() { chars[10][100]; char*line[10]; fstreaminfile; infile.open("in.txt",ios: : in); for(inti=0;i<10;i++) { infile>>s[i]; line[i]=s[i]; } infile.close(); sortLine(line,10); fstreamoutfile; outfile.open("out.txt",ios: : out); for(i=0;i<10;i++) outfile< outfile.close(); } 答案: for(inti=0;i for(intj=i+1;j { if(strcmp(line[i],line[j])<0) { char*m=line[i]; line[i]=line[j]; line[j]=m; } } 第93题(10.0分)题号: 597 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 题目: 从文件中读入6个数到数组中,计算其中正数的平均值aver. -------------------------------------------------- 注意: 部分源程序给出如下。 请勿改动主函数main和其它 函数中的任何内容,仅在函数的花括号中填入所编 写的若干语句。 ------------------------------------------------*/ #include #include usingnamespacestd; #include voidwriteinfile(floataver); voidmain() { floata[6],aver; intn=0,j; fstreammyfile; myfile.open("in.txt",ios: : in); for(inti=0;i<6;i++) myfile>>a[i]; myfile.close(); /**********Program**********/ /**********End**********/ writeinfile(aver); } voidwriteinfile(floataver) { fstreammyfile; myfile.open("f.txt",ios: : out); myfile< myfile.close(); } 答案: ---------------------- aver=0; for(j=0;j<6;j++) { if(a[j]>0) { n++; aver+=a[j]; } } aver/=n; ---------------------- 第94题(10.0分)题号: 589 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 题目: 已知10个四位数输出所有对称数及个数n 例如1221,2332都是对称数 -------------------------------------------------- 注意: 部分源程序给出如下。 请勿改动主函数main和其它 函数中的任何内容,仅在函数的花括号中填入所编 写的若干语句。 ------------------------------------------------*/ #include #include usingnamespacestd; #include voidwriteinfile(intn); voidmain() { inti,n=0,m[10]={1221,2243,2332,1435,1236,5623,4321,4356,6754,3234}; for(i=0;i<10;i++) { /**********Program**********/ /**********End**********/ } writeinfile(n); } voidwriteinfile(intn) { fstreammyfile; myfile.open("f.txt",ios: : out); myfile< myfile.close(); } 答案: ---------------------- inta,b,c,d; a=m[i]/1000; b=m[i]%1000/100; c=m[i]%100/10; d=m[i]%10; if(a==d&&c==b) {cout< n++;} ---------------------- 第95题(10.0分)题号: 669 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 题目: 函数myStrLen(char*a)返回字符串a的长度。 填写 适当的代码,使得myStrLen()完成正确的功能。 -------------------------------------------------- 注意: 部分源程序给出如下。 请勿改动主函数main和其它 函数中的任何内容,仅在函数的花括号中填入所编 写的若干语句。 ------------------------------------------------*/ #include #include usingnamespacestd; intmyStrLen(char*str); intgrading(); intmain() { charstr[]="Hello,thisisaC++program! "; cout< //忽略阅读 grading(); //忽略阅读结束 return0; } intmyStrLen(char*str) { /***************Program*****************/ /***************End*****************/ } //以下忽略阅读 intgrading() { charstr[1000]; fstreaminf,outf; inf.open("in.txt",ios: : in); outf.open("out.txt",ios: : out); for(intk=0;k<10;k++) { inf>>str; outf< } inf.close(); outf.close(); return0; } 答案: inti=0; while(str[i]) i++; returni; 第96题(10.0分)题号: 530 /*----------------------------------------------------- 【程序设计】 ------------------------------------------------------- 题目: 编写函数IfDigitChar(ch),判断字符ch是否为数字字 符,是则返回1,否则返回0。 --------------------------------------------------- 注意: 部分源程序给出如下。 请勿改动主函数main和其它函数 中的任何内容,仅在*Program*和*End*所标记的区域内 完成题干要求的函数功能。 ------------------------------------------------------*/ #include #include usingnamespacestd; intgrading(); intIfDigitChar(charch); /*********Program*********/ /*********End*********/ intmain() { charch; cout<<"请输入一个字符: "< cin>>ch; if(IfDigitChar(ch)) cout< else cout< //忽略阅读 grading(); //忽略阅读结束 return0; } //以下忽略阅读 intgrading() { charm; inti,j; fstreaminfile,outfile; infile.open("in.txt",ios: : in); outfile.open("out.txt",ios: : out); for(i=0;i<4;i++) { for(j=0;j<6;j++) { infile>>m; outfile< } outfile< } infile.close(); outfile.close(); return0; } 答案: intIfDigitChar(charch) { if(ch>='0'&&ch<='9') return1; else return0; } 第97题(10.0分)题号: 651 /*----------------------------------------------- 【程序设计】 ------------------------------------------------- 题目: 写一个函数charmyfun(intscore), 实现百分制成绩与等级之间的转换关系: 90分以上为"A",80-89为"B",70-79为"C", 60-69为"D",60分以下为"E",并将等级返回。 -------------------------------------------------- 注意: 部分源程序给出如下。 请勿改动主函数main和其它 函数中的任何内容,仅在注释形式标识Program和 End之间填入所编写的若干语句。 -------------------------------------------------*/ #include #include usingnamespacestd; voidgrading(); /**********Program**********/ /**********End**********/ intmain() { cout<<"分数为80分,等级为: "< cout<<"分数为70分,等级为: "< cout<<"分数为60分,等级为: "< cout<<"分数为40分,等级为: "< //忽略阅读 grading(); //忽略阅读结束 return0; } //忽略阅读 voidgrading() { ifstreamrf("in.txt",ios: : in); intinfo[4]; rf>>info[0]>>info[1]>>info[2]>>info[3]; ofstreamwf("out.txt",ios: : out); for(inti=0;i<4;i++) { wf< } rf.close(); wf.close(); } //忽略阅读结束 答案: charmyfun(intscore) { switch(score/10) { case10: case9: return'A'; case8: return'B'; case7: return'C'; case6: return'D'; default: return'E'; } } 第98题(10.0分)题号: 623 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 题目: 有一个定义在自然数上的函数f(x)定义如下: 若x<5,则f(x)=x; 若5<=x<15,则f(x)=x+6; 若x>=15,则f(x)=x-6。 试编写该函数,输入x值,返回相应的f(x)值。 -------------------------------------------------- 注意: 部分源程序给出如下。 请勿改动主函数main 和其它函数中的任何内容,仅在程序中介于 "**********Program**********" 和 "**********End**********" 的部分填入所编写的若干语句。 ------------------------------------------------*/ #include #include usingnamespacestd; intf(intx) { /**********Program**********/ /**********End**********/ } intmain() { ifstreaminf("in.txt",ios: : in); ofstreamouf("out.txt",ios: : out); intx; while(inf>>x) ouf< inf.close(); ouf.close(); return0; } 答案: if(x<5) returnx; if(5<=x&&x<15) returnx+6; returnx-6; 第99题(10.0分)题号: 612 /*------------------------------------------------------------------------------ 【程序设计】 -------------------------------------------------------------------------------- 题目: 某服装店经营套服,也单件出售。 若买的不少于50套, 每套80元;若不足50套,则每套90元;单件上衣 ,每件60元;单条裤子,每条45元。 已知要买的上衣和裤子数,编写函数计算应付款。 函数原型是intPayfor(intyifu,intkuzi); 第一个参数表示衣服的数量,第二个参数表示裤子的数量 ------------------------------------------------------- 注意: 部分源程序给出如下。 请勿改动主函数main和其它 函数中的任何内容,仅在注释形式标识Program和 End之间填入所编写的若干语句。 -------------------------------------------------------*/ #include #include usingnamespacestd; voidwwff(); /**********Program**********/ /**********End**********/ intmain() { cout< cout< cout< //忽略阅读 wwff(); //
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+程序设计 大学计算机 C+ 程序设计 试题 答案