C++实验答案Word文档格式.docx

上传人:b****4 文档编号:8001903 上传时间:2023-05-09 格式:DOCX 页数:30 大小:71.94KB
下载 相关 举报
C++实验答案Word文档格式.docx_第1页
第1页 / 共30页
C++实验答案Word文档格式.docx_第2页
第2页 / 共30页
C++实验答案Word文档格式.docx_第3页
第3页 / 共30页
C++实验答案Word文档格式.docx_第4页
第4页 / 共30页
C++实验答案Word文档格式.docx_第5页
第5页 / 共30页
C++实验答案Word文档格式.docx_第6页
第6页 / 共30页
C++实验答案Word文档格式.docx_第7页
第7页 / 共30页
C++实验答案Word文档格式.docx_第8页
第8页 / 共30页
C++实验答案Word文档格式.docx_第9页
第9页 / 共30页
C++实验答案Word文档格式.docx_第10页
第10页 / 共30页
C++实验答案Word文档格式.docx_第11页
第11页 / 共30页
C++实验答案Word文档格式.docx_第12页
第12页 / 共30页
C++实验答案Word文档格式.docx_第13页
第13页 / 共30页
C++实验答案Word文档格式.docx_第14页
第14页 / 共30页
C++实验答案Word文档格式.docx_第15页
第15页 / 共30页
C++实验答案Word文档格式.docx_第16页
第16页 / 共30页
C++实验答案Word文档格式.docx_第17页
第17页 / 共30页
C++实验答案Word文档格式.docx_第18页
第18页 / 共30页
C++实验答案Word文档格式.docx_第19页
第19页 / 共30页
C++实验答案Word文档格式.docx_第20页
第20页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C++实验答案Word文档格式.docx

《C++实验答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《C++实验答案Word文档格式.docx(30页珍藏版)》请在冰点文库上搜索。

C++实验答案Word文档格式.docx

case10:

case11:

case12:

}

}

else

case1:

case2:

28"

case3:

case4:

case5:

case6:

case7:

case8:

case9:

case10:

case11:

case12:

}

else

cout<

Inputerror!

return0;

}

2、某高校录取研究生的要求是,新生的每门课成绩不低于60分,总成绩不低于340分,370分以下为自费。

编一程序实现输入一个学生的四门课成绩,试判断该生为该校录取的情况(“没有录取”、“自费”、“公费”三种情况)。

#include<

inta,b,c,d,s;

a>

b>

c>

d;

s=a+b+c+d;

if(a>

=60&

d>

s>

=340)

if(s>

=370)cout<

公费"

endl;

elsecout<

自费"

elsecout<

没有录取"

3、

在华农校园里,没有自行车,上课办事会很不方便。

但实际上,并非去办任何事情都是骑车快,因为骑车总要找车、开锁、停车、锁车等,这要耽误一些时间。

假设找到自行车,开锁并骑上自行车的时间为27秒;

停车锁车的时间为23秒;

步行每秒行走1.2米,骑车每秒行走3.0米。

请判断走不同的距离去办事,是骑车快还是走路快。

doubletb,tw,s;

s;

tb=s/3+50;

tw=s/1.2;

if(tb>

tw)cout<

Walk"

if(tb<

Bike"

All"

4、

一个停车场的标准收费是3小时之内收5元,超过3小时,每增加1小时加收2元;

如果时间不是整数,按比例收取,例如:

如果输入为3.6小时,则费用为5+(3.6-3)*2=6.2元。

最高收费为40元。

假设任何车辆的停车时间都不超过24小时。

编写程序,计算每辆车的停车费。

【提示】

要输出浮点数、双精度数小数点后2位数字,可以用下面这种形式:

fixed<

setprecision

(2)<

cost<

按上面的形式控制输出格式时,需在源程序最开始加上一行:

iomanip>

doublet,cost;

t;

if(t<

=3)cout<

5.00"

if(t<

=20.5)

cost=(t-3)*2+5;

cout<

40.00"

5、

模拟计算器的功能,能根据用户输入的两个运算数和运算符(’+’、‘-’、‘*’或‘/’),对两个数进行相应的运算,输出运算结果。

注意:

除法运算‘/’的除数不能为0。

doublea,b,n;

charc;

c;

if(c=='

/'

b==0)cout<

除数为0!

if(c!

='

+'

c!

-'

*'

)cout<

运算符号错误!

if(c=='

n=a+b;

cout<

n<

if(c=='

n=a-b;

n=a*b;

n=a/b;

实验二

1、

给定一个正整数a,以及另外的5个正整数,问题是:

这5个整数中,小于a的整数的和是多少?

{inta,b,c,d,e,f,x=0;

e>

f;

if(a<

=100)

if(b<

a)x=x+b;

if(c<

a)x=x+c;

if(d<

a)x=x+d;

if(e<

a)x=x+e;

if(f<

a)x=x+f;

endl<

x<

2

一球从某一高度落下(整数,单位米),每次落地后反跳回原来高度的一半,再落下。

编程计算气球在第5次落地时,共经过多少米?

第5次反弹多高?

inth0;

doubles,h;

h0;

h=h0/32.0;

s=h0+2*(h0/2.0+h0/4.0+h0/8.0+h0/16.0);

s<

'

'

h<

return0;

3

有一个分数序列2/1,3/2,5/3,8/5,13/8,21/13,....求这个分数序列的前n项之和。

doublei,n,x,y,z;

doubles;

n;

x=2;

y=1;

s=2;

for(i=1;

i<

i=i++)

z=x;

x=y+z;

y=z;

s=s+x/y;

setprecision(4)<

4

在平面坐标系中,有一个正方形,四个角的坐标(x,y)分别是(1,-1),(1,1),(-1,-1),(-1,1),x是横轴,y是纵轴。

写一个程序,判断给定的多个点是否在这个正方形内。

voidmain()

floatx,y;

for(;

;

x>

y;

if(x==0&

y==0)

yes"

break;

if(x<

=1&

=-1&

=-1)

no"

5

一辆卡车违反交通规则,撞人后逃跑。

现场有三人目击事件,但都没有记住车号,只记下车号的一些特征。

甲说:

牌照的前两位数字是相同的;

乙说:

牌照的后两位数字是相同的,但与前两位不同;

丙是数学家,他说:

四位的车号所构成的数字正好等于某一个整数的平方。

请根据以上线索求出车号。

#include<

#include<

math.h>

{inta,b,c,d,m,n;

for(a=0;

a<

10;

a++)

{for(b=0;

b<

b++)

{for(c=0;

c<

c++)

{for(d=0;

d<

d++)

{if(a==b&

c==d)

{m=a*1000+b*100+c*10+d;

{for(n=32;

100;

n++)

if(n*n==m)

实验三

1

陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果。

苹果成熟的时候,陶陶就会跑去摘苹果。

陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。

现在已知10个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。

假设她碰到苹果,苹果就会掉下来。

usingnamespacestd;

intmain()

inta[100];

intm,sum=0;

for(inti=1;

=10;

i++)

a[i];

if(m>

=a[i]||(m<

a[i])&

(m+30>

=a[i]))

sum=sum+1;

sum<

歌唱大赛选手成绩这样计算:

去掉一个最高分,去掉一个最低分,将剩下分数的平均值作为选手的最后得分。

现假设共有6位评委,都是按百分制打分,请编程计算选手的成绩。

提示:

将6个评分存入score数组中。

关键是求出其中的最大值max(即最高分)和最小值min(即最低分)。

doublescore[100];

doublem=0;

doubleg=0;

=6;

score[i];

doublebig=score[1];

doublesmall=score[1];

for(intj=1;

j<

j++)

if(score[j]>

big)

big=score[j];

for(intk=1;

k<

k++)

if(score[k]<

small)

small=score[k];

for(intn=1;

g+=score[n];

m=(g-big-small)/4;

插入式加密法是信息加密中一种简单的加密技术,其方法是在明文字符中插入一些无意义的字母来形成密文单词。

例如,对于明文:

China,在间隔为1的位置依次插入一个字母而形成密文:

Coheifnia。

因此,其解密过程与加密过程相反,即从密文中首字符开始取,每间隔1个位置依次取出字符,就得到原始的明文。

请编程实现插入式加密法所对应的解密算法,将密文翻译成明文。

定义两个字符数组ci和pl,分别存放密文字符串和明文字符串。

解密过程即在字符串ci中,从下标0的字符(首字符)开始,将偶数下标的字符(’\0’之前的)依次取出赋值到字符数组pl中,最后即得到明文字符串。

charci[100];

charpl[100];

intm=0;

cin.getline(ci,100);

for(inti=0;

ci[i]!

\0'

{

if(i%2==0)

pl[m]=ci[i];

m=m+1;

pl[m]='

pl<

输入一个长度小于20的不含空格的字符串,然后对该字符串做如下处理:

对字符串中的每个字符,如果是大写字母,将其转化为小写;

如果是小写字母,将其转化为大写,最后将处理后的字符串输出。

要求用指针对字符串进行处理。

chars[21],*p;

cin>

p=s;

while(*p)

if(*p>

a'

*p<

z'

*p=*p-32;

else

if(*p>

A'

Z'

*p=*p+32;

p++;

在一个整数数组上,对于下标为i的整数,如果它大于所有它相邻的整数,或者小于所有它相邻的整数,则称为该整数为一个极值点,极值点的下标就是i。

数组中的第一个数(下标为0)只要和第二个数(下标为1)不相等,第一个数(下标为0)就是极值点;

同理,数组中的最后一个数只要和倒数第二个数不相等,最后一个数也是极值点。

{

intn;

int*p=newint[n];

intj=0;

p[i];

while(j<

n)

if(n>

=2&

j==0&

p[0]!

=p[1])

0"

if(j!

=n-1&

j!

=0)

if((p[j]>

p[j+1]&

p[j]>

p[j-1])||(p[j]<

p[j]<

p[j-1]))

}

if(j==n-1&

p[n-1]!

=p[n-2])

n-1<

j++;

delete[]p;

实验四

判断正整数n是否为完数。

已知一个数如果恰好等于除它本身外的所有因子之和,这个数就称为完数。

此程序要求编写函数boolwanshu(intn),判断n是否为完数,若n是,则函数返回true;

否则返回false。

然后主函数通过该函数的返回值,在屏幕上输出判断结果。

intnumber(int);

intresult=number(n);

if(result==-1)

intnumber(inta)

inttotal=0,re=0;

a;

total+=i;

if(a==total)

re=a;

else

re=-1;

returnre;

假定现在已是2012年,请编写程序,计算2012年伦敦奥运会倒计时的天数并输出。

已知伦敦奥运会的开幕日期是2012年7月27日。

用户输入日期的范围必须是2012年1月1日—2012年7月26日。

要求程序中编写函数intCountDown(intyear,intmonth,intday),来计算从用户输入的日期year-month-day到伦敦奥运会开幕日之间的倒数天数。

所求天数=month这个月的总天数-day+(month+1到6月所有这些月份天数之和)+27。

inty,m,d,x;

m>

if(y!

=2012||(m>

7||m==0)||(m==7&

27))

cout<

ERROR!

elseif(m==7)

x=27-d;

距离2012伦敦奥运会还有"

天。

switch(m)

case1:

x=31-d+29+31+30+31+30+27;

case2:

x=29-d+31+30+31+30+27;

case3:

x=31-d+30+31+30+27;

case4:

x=30-d+31+30+27;

case5:

x=31-d+30+27;

case6:

x=30-d+27;

许多英语单词无论是顺读还是倒读,其词形完全一样,都是同一个单词,如dad(爸爸)、noon(中午)、level(水平)等,这样的词称为回文词。

在最权威的《牛津英语大词典》里,最长的回文词是tattarrattat,是个象声词,表示敲门的声音。

英语的回文句更有趣味(忽略其中的标点符号)。

最著名的一句为:

“Madam,I’mAdam.”(小姐,我是亚当。

)据说,这是亚当在伊甸园里初见夏娃作自我介绍时说的话。

现要求编写一个函数boolhuiwen(char*p),判断输入的一个单词是否为回文词。

p是指向要输入的字符串的指针,如果是返回true,否则返回false。

boolhuiwen(char*p)

char*q=p+strlen(p)-1;

strlen(p)/2;

if(*p!

=*q)

returnfalse;

returntrue;

charch[100];

ch;

if(huiwen(ch))

cin.get();

}

编写一个函数,用于生成一个由若干个指定字符构成的字符串,其原型为:

voidmystr(charc,intn,char*p);

其中,参数c是构造字符串的字符,n是字符串中字符的个数,p是生成的字符串的首地址。

要求:

编写主函数,在主函数中进行字符和字符个数的输入,然后再调用mystr函数生成字符串,最后在主函数中将生成的字符串输出。

voidmystr(charc,intn,char*p)

=n;

return;

char*p;

p=&

mystr(c,n,p);

有一个有趣的古典数学问题:

有一对兔子,从出生后第3个月起每个月都生1对兔子,小兔子长到第3个月后每个月又生1对兔子。

假设所有兔子都不死,问每个月兔子的总对数为多少?

不满1个月的为小兔子,满1个月不满2个月的为中兔子,满3个月以上的为老兔子。

每对老兔子每个月会生1对小兔子。

因此,每个月的兔子总数依次为1,1,2,3,5,8,13,…。

这就是Fibonacci数列。

该数列的递归定义如下:

f(n)=1(n等于1或2);

f(n)=f(n-1)+f(n-2)(n>

2)

请编写递归函数intfib(intn),求出第n个月兔子的总对数。

voidfib(ints)

intd=1,f=1,sum=0,n=1,t=0;

while(n<

s)

n++;

t=f;

f=d;

d+=t;

sum=d+f;

第"

个月兔子的总对数为"

sum-d<

intmain()

ints;

if(s!

=1)

fib(s);

第1个月兔子的总对数为1"

实验五

仿照本次实验预习的程序填空题1,将以上Distance函数定义为类piont的友元函数,实现程序的功能。

并在主

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

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2