C++50题答案Word文档下载推荐.docx

上传人:b****3 文档编号:17144843 上传时间:2022-11-28 格式:DOCX 页数:44 大小:36.58KB
下载 相关 举报
C++50题答案Word文档下载推荐.docx_第1页
第1页 / 共44页
C++50题答案Word文档下载推荐.docx_第2页
第2页 / 共44页
C++50题答案Word文档下载推荐.docx_第3页
第3页 / 共44页
C++50题答案Word文档下载推荐.docx_第4页
第4页 / 共44页
C++50题答案Word文档下载推荐.docx_第5页
第5页 / 共44页
点击查看更多>>
下载资源
资源描述

C++50题答案Word文档下载推荐.docx

《C++50题答案Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C++50题答案Word文档下载推荐.docx(44页珍藏版)》请在冰豆网上搜索。

C++50题答案Word文档下载推荐.docx

}

已阅,请放心食用

2.编写一个程序,用户输入年份及月份两个数据,程序输出该月份的天数。

(提示:

对2月要考虑是否闰年,闰年年份要么能被4整除且不能被100整除,要么能被400整除,除次之外都不是闰年)。

intyear,month,days;

请输入年份,月份:

year>

month;

if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)

{

days=31;

year<

年"

month<

月有"

days<

天\n"

elseif(month==4||month==6||month==9||month==11)

days=30;

elseif((year%4==0&

&

year%100!

=0)||year%400==0)

days=29;

else

days=28;

}

已阅,请放心食用

3.某大桥按不同型号征收车辆过桥费:

自行车免费,摩托车2元,小汽车5元,大客车与货车8元,货柜车12元。

编写一个程序,按车辆的不同型号计算通过该大桥应征的过桥费。

可以用整数对不同型号的车辆进行编码)

//收过桥费

intkind;

1.自行车\n"

2.摩托车\n"

3.小汽车\n"

4.大货车或客车\n"

5.货柜车\n"

请输入汽车种类:

kind;

switch(kind)

case1:

cout<

费用:

0元"

break;

case2:

2元"

case3:

5元"

case4:

8元"

case5:

12元"

default:

错误!

}

4.输入一位同学的考试成绩,若是90~100分,输出“Excellent”,80~89输出“Verygood”,70~79输出“Good”,60~69输出“Pass”,60分以下输出“NoPass”。

intmarks;

输入考试成绩:

marks;

switch(marks/10)

case10:

case9:

Excellent\n"

case8:

VeryGood\n"

case7:

Good\n"

case6:

Pass\n"

default:

NoPass\n"

5.旅行社的订票量小于10张时,航空公司给予10%的折扣;

订票量大于或等于10张且小于20张时,航空公司给予15%的折扣;

订票量大于或等于20张且小于30张时,航空公司给予30%的折扣;

订票量大于或等于30张时,航空公司给予最高的45%的折扣。

编程输入订票张数及单张机票票价,程序输出折扣率及应付款额。

//旅行社折扣

intnum,price;

floatdiscount,total_price;

输入购买张数和单价:

num>

price;

switch(num/10)

case0:

discount=0.1;

break;

case1:

discount=0.15;

case2:

discount=0.3;

discount=0.45;

total_price=num*price*(1-discount);

总价格为:

total_price<

6.用户输入一个整数流(输入1000表示数据输入结束),如

411306-51-17-12190100

编写程序统计输入流中-1、0和+1的个数。

//输入数流

inta[100],i,j,x=0,y=0,z=0;

输入数流(以1000结束):

{

if(a[i]==1000)break;

for(j=0;

a[j]!

=1000;

j++)

if(a[j]==-1)x++;

if(a[j]==0)y++;

if(a[j]==1)z++;

该数流中含-1:

x<

项\n"

该数流中含0:

y<

该数流中含1:

z<

7.编写一个程序,求一个自然数中含有多少个2的因子。

如,6含1个2的因子,8含3个2的因子,11不含2的因子。

(提示,程序应检查用户输入的合法性)。

//求2因子

intx,i,n;

do{

cout<

输入整数:

x;

}while(x<

=0);

n=x;

n%2==0;

n/=2;

整数"

含有"

i<

个2因子"

8.编写一个程序解决爱因斯坦台阶问题:

有人走以台阶,若以每步走2级则最后剩1级;

若每步走3级则最后剩2级;

若以每步走4级则最后剩3级;

若以每步走5级则最后剩4级;

若以每步走6级则最后剩5级;

若以每步走7级则最后刚好不剩。

问台阶共有几级?

if(i%2==1&

i%3==2&

i%4==3&

i%5==4&

i%6==5&

i%7==0)break;

最小可能值是:

9.公鸡5元1只,母鸡3元1只,小鸡1元3只,花了100元钱买100只鸡,问公鸡、母鸡、小鸡各多少只?

//百元买百鸡

intcock,hen,chicken,price;

for(cock=0;

cock<

=20;

cock++)

for(hen=0;

hen<

=33;

hen++)

{

chicken=100-cock-hen;

if(chicken%3==0&

5*cock+3*hen+chicken/3==100)

cout<

公鸡"

只,母鸡"

只,小鸡"

chicken<

只\n"

}

10.编程实现解决下述问题的算法:

一位顾客在购物时,如果买4个苹果剩下4角钱.如果买5个苹果则缺5角钱,请问,该顾客带了多少钱?

多少钱可以头一个苹果?

intmoney,money1,money2,i,m,n;

for(i=1;

if(4+4*i==5*i-5)

money=4+4*i;

money1=money/10;

money2=money-10*money1;

顾客带了"

money1<

元"

money2<

角,苹果价格为每个"

角\n"

break;

11.编写程序.计算100之内可以被13整除的自然数之和。

inti,sum=0;

=100;

if(i%13==0)

sum+=i;

100以内可以被13整除的自然数之和为:

sum<

12.键盘输入m和n(10<

m<

n≤32000),求出m~n间所有素数且按每行8个数形式输出。

//求m到n的素数

iomanip.h>

intf(inti)

intl;

for(l=2;

l<

i;

l++)

if(i%l==0)

return0;

return1;

intm,n,x,i,j;

intk=0;

输入m,n(其中10<

n≤32000):

cin>

m>

n;

}while(m<

=10||m>

=n||n>

32000);

for(i=m;

=n;

if(f(i))

setw(6)<

k++;

if(k%8==0)cout<

13.编写程序打印乘法口诀表。

//打印乘法口诀表

inta,b,t;

=9;

for(j=1;

j<

=i;

'

*'

='

i*j<

\t"

14.编程实现求解最大公约数的欧几里德算法,用户输入两个任意正整数,程序输出他们的最大公约数。

算法如下:

步骤1:

如果p<

q,则交换p和q。

步骤2:

令r是p/q的余数。

步骤3:

如果r=0,则令g=q并终止;

否则令p=q,q=r并转向步骤2

14.

//求最大公约数

intp,q,r;

输入两个整数:

p>

q;

if(p<

q)

r=q;

q=p;

p=r;

r=p%q;

while(r!

=0)

p=q;

q=r;

r=p%q;

最大公约数是:

q<

15.求不超过正整数n的2的最大幂值,如输入17,程序应输出4(24=16<

17)。

intn,t=1,i;

请输入正整数n:

i++,t*=2)

if(t>

n)

i-1<

\n"

16.有关专家十分关注珠江渔业资源的问题。

目前珠江中大约有8000万条鱼,平均每年以3.5%的速度减少。

请编写一个程序,计算在多少年之后鱼的数目下降到目前的一半?

多少年后下降到目前的十分之一?

(提示注意整数类型的取值范围)。

doublefishnum=8e7,fish;

intyear;

for(year=0,fish=fishnum;

year++,fish*=0.965)

if(fish<

=4e7)

当鱼的数目等于原来的一半时,需要"

年\n"

=8e6)

当鱼的数目等于原来的十分之一时,需要"

}

17.编程求解一元二次方程

+bx+c=0的根。

要求:

设计完备的测试数据集,考虑a,b,c各种取值对根的影响

//二次方程求解

math.h>

floata,b,c,x1,x2,t;

请输入a,b,c:

a>

b>

c;

t=b*b-4*a*c;

if(a==0&

b==0)

根为一切实数\n"

elseif(a==0)

根为"

-c/b<

\n'

elseif(t<

0)

无根\n"

elseif(t==0)

-b/(2*a)<

elseif(t>

(-b+sqrt(t))/(2*a)<

和"

(-b-sqrt(t))/(2*a)<

18.编写一个程序,输入全班同学某门课考试成绩,计算平均成绩并找出其中最高分与最低分。

批量数据通常不事先规定输入的数据数量,而是以一个特殊的标志作为输入结束。

程序根据结束标志统计人数)

//班级分数

inta[100],i,max,min,s=0;

输入同学成绩(以1000结束):

cin>

if(a[i]==1000)break;

if(i==0)

max=a[0];

min=a[0];

max=max>

a[i]?

max:

min=min<

min:

s+=a[i];

该班同学成绩中最高分为:

max<

最低分为"

min<

平均分为"

s/i<

19.编一程序模拟整数加、减、乘、除四则运算。

当你在键盘上输入

5+6

后,程序将输出=11,当你在键盘上输入11*7后,程序将输出=77。

//模拟四则运算

floata,b;

charx;

请输入算式:

x>

if(x=='

+'

="

a+b<

elseif(x=='

-'

a-b<

a*b<

/'

a/b<

else

error!

!

20.把一张1元钞票换成1分、2分和5分的硬币,每种至少有1枚,问有多少种换法?

inti,j,k,m=0;

=50;

k=100-5*i-2*j;

if(k>

=1)

{

m+=1;

i="

"

j="

k="

k<

}

共有"

种结果\n"

21.

求自然对数底(e)的近似值。

e的近似值计算公式为:

当余项rn<

ε时停止计算。

设ε=1e-8

main()

doubletemp=1,sum=0;

temp>

=1e-8;

sum+=temp;

temp/=i;

e=1+1/1!

+1/2!

+1/3!

+....="

setprecision(9)<

}(控制输出流显示浮点数的有效数字个数)

22.S=

=1!

+2!

+…+7!

intsum=0,n=1,i;

=7;

n*=i;

sum+=n;

}已阅,请放心食用

23.S=1×

2+3×

4+5×

6+…+39×

40

//求1×

inti,s=0;

=39;

i+=2)

s+=i*(i+1);

结果是:

s<

24.Y=X-

+…+(-1)n+1

+…的值,精确到10-6。

//求值,精确到10e-6

inti,x;

输入整数x:

doubletemp=x,s=0;

fabs(temp)>

=1e-6;

s+=temp;

temp=temp*(-x*x)/((float)(i+1)*(i+2));

结果是:

25.编制一个程序,读入一个正整数,并反向输出。

例如,读入123,输出是321。

25.

//反向输出

intx,i,j;

i++)if(x/(int)pow(10,i)==0)break;

inta[100];

j++){

a[j]=(x%(int)pow(10,j+1))/((int)pow(10,j));

反向输出为:

for(intb=0;

b<

b++)cout<

a[b];

/*#include<

charx[100];

输入整数:

x[i];

i++;

for(i-=1;

i>

i--)

int(x[i]-48);

}*/

26.水仙花数问题:

水仙花数是一种三位数,它的值等于每个数字的立方和。

例如,153=13+53+33。

编程输出小于999的水仙花数。

//水仙花数

#incl

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

当前位置:首页 > 人文社科 > 哲学历史

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

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