大学计算机《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;ia[0]=0;//1不是素数,置0
for(i=0;iif(a[i]==0)continue;//该数已经置0,判断下一个数
for(j=i+1;j}
ofile.open("myfile2_18.txt");
intcount=0;
ofile<<"1-"<"<for(i=0;iif(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;ifor(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();
//