C++大题答案.docx

上传人:b****6 文档编号:4770762 上传时间:2022-12-08 格式:DOCX 页数:59 大小:39.48KB
下载 相关 举报
C++大题答案.docx_第1页
第1页 / 共59页
C++大题答案.docx_第2页
第2页 / 共59页
C++大题答案.docx_第3页
第3页 / 共59页
C++大题答案.docx_第4页
第4页 / 共59页
C++大题答案.docx_第5页
第5页 / 共59页
点击查看更多>>
下载资源
资源描述

C++大题答案.docx

《C++大题答案.docx》由会员分享,可在线阅读,更多相关《C++大题答案.docx(59页珍藏版)》请在冰豆网上搜索。

C++大题答案.docx

C++大题答案

一.母牛生小牛:

请使用VC6打开考生目录下的工作区文件cattle.dsw。

此工程包含一个源程序文件cattle.cpp,完成如下功能,若一头小母牛,从出生起第四个年头开始,每年生一头母牛。

按此规律,第n年时有多少头母牛?

(n由键盘输入)。

但程序中有缺失部分,请按下面的提示,把下划线标出的三处缺失部分补充完整,并删除下划线:

#include

voidmain()

{

//**1***************found***********

___intn;__________

//**2***************found***********

longa=1,__b=1______,c=1,temp;

cout<<"pleaseinputavalue:

\n";

cin>>n;

for(inti=4;i<=n;i++)

{

//**3***************found***********

_______temp=a+c;_____

a=b;

b=c;

c=temp;

}

cout<

}

二.判断是否为素数:

请使用VC6打开考生目录下的工作区文件prime.dsw。

此工程包含一个源程序文件prime.cpp,该程序实现从键盘输入一整数,判断其是否为素数。

但程序中有缺失部分,请按下面的提示,把下划线标出的三处缺失部分补充完整,并删除下划线:

#include

//**1***************found***********

___#include______________

voidmain()

{

//输入

longm;

cout<<"pleaseinputanumber:

\n";

cin>>m;

//处理

doublesqrtm=sqrt(m);//用到math.h

inti;

for(i=2;i<=sqrtm;i++)

//**2****************found***********

If(m%i==0___________)

break;

//输出

//**3*****************found***********

if(__i>_sqrtm_________)

cout<

else

cout<

}

三.请使用VC6打开考生目录下的工作区文件sanif.dsw。

此工程包含一个源程序文件sanif.cpp,编写程序,实现下列函数功能:

但程序中有缺失部分,请按下面的提示,把下划线标出的三处缺失部分补充完整,并删除下划线:

#include

voidmain()

{//**1***************found***********

doublex,y;

cout<<"输入一个数:

"<

cin>>x;

//**2***************found***********

if(x<2)

y=-x+2.5;

else

if(x<4)

y=2-1.5*(x-3)*(x-3);

else

//**3***************found***********

y=-1.5;

cout<<"y="<

}

四.斐波那契数列.请使用VC6打开考生目录下的工作区文件feibo.dsw。

此工程包含一个源程序文件feibo.cpp,输出菲波那切数列的前40项。

菲波那切数列的特征是:

前两项为1,以后每一项为前两项之和。

但程序中有缺失部分,请按下面的提示,把下划线标出的三处缺失部分补充完整,并删除下划线:

#include

voidmain()

{

inta=1,b=1,c;

cout<

//**1***************found***********

for(inti=3;i<=40;i++)

{//**2***************found***********

c=a+b;

cout<

//**3***************found***********

a=b;

b=c;

if(i%5==0)

cout<

}

}

五.完数请使用VC6打开考生目录下的工作区文件"完数.dsw"。

此工程包含一个源程序文件"完数.cpp",输出求1000之内的所有“完数”,输所谓“完数”,是指一个数恰好等于它的因子之和。

例如6是完数,因为6=1+2+3。

但程序中有缺失部分,请按下面的提示,把下划线标出的三处缺失部分补充完整,并删除下划线:

#include

voidmain()

{//**1***************found***********

for(inti=1;i<1000;i++)

{

intsum=0;

for(intj=1;j<=i/2;j++)

//**2***************found***********

if(i%j==0)

sum=sum+j;

//**3***************found***********

if(i==sum)

cout<

}

}

六.求和.请使用VC6打开考生目录下的工作区文件"sum.dsw"。

此工程包含一个源程序文件"sum.cpp",求满足下式的最小n值,其中的limit可用户从键盘输入。

1+1/2+1/3+...+1/n>limit

但程序中有缺失部分,请按下面的提示,把下划线标出的三处缺失部分补充完整,并删除下划线:

#include

voidmain()

{//**1***************found***********

intlimit;

doublesum=0;

cin>>limit;

intn=0;

do

{//**2***************found***********

n++;

sum+=1.0/n;

//**3***************found***********

}while(sum<=limit);

cout<<"sum="<

<<"n="<

}

七.金字塔.请使用VC6打开考生目录下的工作区文件shuzijinzita.dsw。

此工程包含一个源程序文件shuzijinzitai.cpp,实现打印一个如图所示的数字金字塔:

1

121

12321

1234321

..........

12345678987654321

但程序中有缺失部分,请按下面的提示,把下划线标出的三处缺失部分补充完整,并删除下划线:

//打印数字金字塔

#include

voidmain()

{

inti,j,n=9;

for(i=1;i<10;i++)

{//**1***************found***********

for(j=1;j<=n-i;j++)

cout<<"";

//**2***************found***********

for(intk=1;k

cout<

//**2***************found***********

for(k-=2;k>0;k--)

cout<

cout<

}

}

八.成绩.

请使用VC6打开考生目录下的工作区文件chengji.dsw。

此工程包含一个源程序文件chengji.cpp,其完成输入学生百分制成绩,输出五分制成绩,即“优秀”、“良好”、“中等”、“及格”与“不及格”。

但程序中有缺失部分,请按下面的提示,把下划线标出的三处缺失部分补充完整,并删除下划线:

#include

voidmain()

{

inta;

cin>>a;

//**1***************found***********

switch(a)

{

case10:

case9:

cout<<"优秀";break;

case8:

cout<<"良好";break;

case7:

cout<<"中等";break;

case6:

cout<<"及格";break;

case5:

case4:

case3:

case2:

case1:

//**2***************found***********

case0:

cout<<"不及格";break;

//**3***************found***********

default:

cout<<"输入错误1";break;

}

}

九.请使用VC6打开考生目录下的工作区文件date.dsw。

此工程包含一个源程序文件date.cpp,完成输入某一年的年份和月份,计算该月的天数。

提示:

●一年中的大月(1月、3月、5月、7月、8月、10月、12月),每月的天数为31天;

●一年中的小月(4月、6月、9月、11月),每月的天数为30天;

●对于2月,则要判断该年是平年还是闰年,平年的2月为28天,闰年的2月为29天。

某年符合下面两个条件之一就是闰年:

①年份能被400整除;

②年份能被4整除,但不能被100整除。

但程序中有缺失部分,请按下面的提示,把下划线标出的三处缺失部分补充完整,并删除下划线:

#include

voidmain()

{

inty,m,d;

cout<<"请输入年份和月份:

"<

cin>>y;

cin>>m;

//**1***************found***********

switch(m)

{

case1:

case3:

case5:

case7:

case8:

case10:

//**2***************found***********

case12:

d=31;break;

case4:

case6:

case9:

case11:

d=30;break;

case2:

if((y%4==0&&y%100!

=0)||(y%400==0))

//**3***************found***********

d=29;

else

d=28;

}

cout<<"当前月为"<

"<

}

十.请使用VC6打开考生目录下的工作区文件div3.dsw。

此工程包含一个源程序文件div3.cpp,求出1~599中能被3整除,且至少有一位数字为5的所有整数,要求每输出5个数字换一行。

如15、51、513均是满足条件的整数。

但程序中有缺失部分,请按下面的提示,把下划线标出的三处缺失部分补充完整,并删除下划线:

//求能够被3整除且某一个数字位为5的数字

#include

voidmain()

{

for(inti=1;i<=599;i++)

{//**1***************found***********

if(i%3==0)

{

intk=i;

//**2***************found***********

while(k!

=0)

{

//**3***************found***********

if(k%10==5)

cout<<""<

break;

k=k/10;

}

}

}

}

4.使用VC6打开考生文件夹下的工作区文件"proj4.dsw",使用递归函数形式写sum函数,求解:

sum(n)=1-2+3-...+n。

补充编制程序,使其功能完整。

在main函数中进行了测试。

#include

#include

intsum(intn)

{

//********333********

ints;

if(n<=1)

s=1;

else

s=n+sum(n-1);

returns;

//********666********

}

voidmain()

{

intn=5,result=0;

result=sum(n);

fstreamfout;

fout.open("out4.txt",ios:

:

out);

if(!

fout.fail())

{

fout<

cout<

}

}

5.使用VC6打开考生文件夹下的工作区文件"proj5.dsw",使用递归函数形式编写facto函数,求解:

求组合数:

补充编制程序,使其功能完整。

在main函数中进行了测试。

#include

#include

#include"iostream.h"

longfacto(intx)

{//********333********

longs;

if(x<=1)

s=1;

else

s=x*facto(x-1);

returns;

//********666********

}

voidmain()

{

intm=5,n=3,temp;

doublecmn;

if(m

{

temp=n;

n=m;

m=temp;

}

cmn=facto(m)/(facto(n)*facto(m-n));//三次调用facto函数

fstreamfout;

fout.open("out5.txt",ios:

:

out);

if(!

fout.fail())

{

fout<<"thecombinationis"<

cout<<"thecombinationis"<

}

}

6.使用VC6打开考生文件夹下的工作区文件"proj6.dsw",编写递归函数,求解:

若一头小母牛,从出生起第四个年头开始每年生一头母牛,按此规律,第n年时有多少头母牛?

补充编制程序,使其功能完整。

在main函数中进行了测试。

#include

#include"iostream.h"

#include

longcattle(intn);

voidmain()

{

intn=10,sum=0;

sum=cattle(n);

fstreamfout;

fout.open("out6.txt",ios:

:

out);

if(!

fout.fail())

{

fout<<"第"<

cout<<"第"<

}

}

longcattle(intn)

{//********333********

longs;

if(n<=3)

s=1;

else

s=cattle(n-1)+cattle(n-3);

returns;

//********666********

}

7.使用VC6打开考生文件夹下的工作区文件"proj7.dsw",用递归方法计算x的n阶勒让德多项式的值。

已有调用语句“poly(n,x);”,编写poly函数。

递归公式如下:

补充编制程序,使其功能完整。

在main函数中进行了测试。

#include

#include

doublepoly(doublex,intn);

voidmain()

{

intn=10;

doublex=1.5;

doubleresult=0;

result=poly(x,n);

fstreamfout;

fout.open("out7.txt",ios:

:

out);

if(!

fout.fail())

{

fout<

cout<

}

}

doublepoly(doublex,intn)

{//********333********

doubles;

if(n==0)

s=1;

elseif(n==1)

s=x;

else

s=(2*n-1)*x*poly(x,n-1)-(n-1)*poly(x,n-2)/n;

returns;

//********666********

}

8.请使用VC6打开考生文件夹下的工作区文件"proj8.dsw"。

此工程包含一个源程序文件proj8.cpp,实现读入20个整数,统计非负数个数,并计算非负数之和。

但程序中有缺失部分,请按下面的提示,把下划线标出的三处缺失部分补充完整,并删除下划线:

#include

#include

voidmain()

{

inti,a[20],s,count;

s=count=0;

//**1***************found***********

for(i=0;i<20;i++)

cin>>a[i];

for(i=0;i<20;i++)

{

if(a[i]<0)

//**2***************found***********

break;else

s+=a[i];

//**3***************found***********

count++;

}

cout<

}

9.请使用VC6打开考生文件夹下的工作区文件"proj9.dsw"。

此工程包含一个源程序文件proj9.cpp,函数index(chars[],chart[])用于检查字符串s中是否包含字符t。

若包含,则返回t在s中的开始位置(下标值),否则返回-1。

但程序中有缺失部分,请按下面的提示,把下划线标出的三处缺失部分补充完整,并删除下划线:

#include

intindex(chars[],chart[])

{

inti,j,k;

//**1***************found***********

for(i=0;s[i]!

='\0';i++)

{//**2***************found***********

for(j=i,k=0;t[k]!

='\0'&&s[j]==t[k];j++,k++);

//**3***************found***********

if(t[k]==’\0’)

returni;

}

return-1;

}

voidmain()

{chars[]="dfggkjgkjz";

cout<

}

10.使用VC6打开考生文件夹下的工作区文件"proj10.dsw",编写一函数实现将一个3×3的矩阵转置,补充编制程序,使其功能完整。

在main函数中进行了测试。

#include

#include

#include

voidrever(inta[][3],intn);

voidmain()

{

fstreamfout;

fout.open("out10.txt",ios:

:

out);

if(fout.fail())

{return;

}

intarray[3][3]={1,2,3,4,5,6,7,8,9};

for(inti=0;i<3;i++)

{

for(intj=0;j<3;j++)

cout<

cout<

}

cout<

rever(array,3);

for(i=0;i<3;i++)

{

for(intj=0;j<3;j++)

{

cout<

fout<

}

fout<

cout<

}

}

voidrever(inta[][3],intn)

{//********333********

intb[3][3];

for(inti=0;i<3;i++)

for(intj=0;j<3;j++)

b[i][j]=a[i][j];

for(i=0;i<3;i++)

for(intj=0;j<3;j++)

a[i][j]=b[j][i];

//********666********

}

11使用VC6打开考生文件夹(D:

\WEBEXAM\李龙斌)下的工作区文件"proj11.dsw",编写一函数实现两字符串的连接,要求使用字符数组保存字符串,而不使用现成饿库函数。

补充编制程序,使其功能完整。

在main函数中进行测试。

#include

#include

#include

voidStrcat(charstr1[],charstr2[]);

voidmain()

{

fstreamfout;

fout.open("out11.txt",ios:

:

out);

if(fout.fail())

{return;

}

inti=0,j=0;

chars1[200]="hello!

",s2[100]="howareyou?

";

Strcat(s1,s2);

cout<<"连接后的字符串为:

"<

fout<<"连接后的字符串为:

"<

}

voidStrcat(charstr1[],charstr2[])

{//********33

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 院校资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1