C++选择结构 21道题含问题详解.docx

上传人:b****1 文档编号:516983 上传时间:2023-04-29 格式:DOCX 页数:24 大小:18.82KB
下载 相关 举报
C++选择结构 21道题含问题详解.docx_第1页
第1页 / 共24页
C++选择结构 21道题含问题详解.docx_第2页
第2页 / 共24页
C++选择结构 21道题含问题详解.docx_第3页
第3页 / 共24页
C++选择结构 21道题含问题详解.docx_第4页
第4页 / 共24页
C++选择结构 21道题含问题详解.docx_第5页
第5页 / 共24页
C++选择结构 21道题含问题详解.docx_第6页
第6页 / 共24页
C++选择结构 21道题含问题详解.docx_第7页
第7页 / 共24页
C++选择结构 21道题含问题详解.docx_第8页
第8页 / 共24页
C++选择结构 21道题含问题详解.docx_第9页
第9页 / 共24页
C++选择结构 21道题含问题详解.docx_第10页
第10页 / 共24页
C++选择结构 21道题含问题详解.docx_第11页
第11页 / 共24页
C++选择结构 21道题含问题详解.docx_第12页
第12页 / 共24页
C++选择结构 21道题含问题详解.docx_第13页
第13页 / 共24页
C++选择结构 21道题含问题详解.docx_第14页
第14页 / 共24页
C++选择结构 21道题含问题详解.docx_第15页
第15页 / 共24页
C++选择结构 21道题含问题详解.docx_第16页
第16页 / 共24页
C++选择结构 21道题含问题详解.docx_第17页
第17页 / 共24页
C++选择结构 21道题含问题详解.docx_第18页
第18页 / 共24页
C++选择结构 21道题含问题详解.docx_第19页
第19页 / 共24页
C++选择结构 21道题含问题详解.docx_第20页
第20页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C++选择结构 21道题含问题详解.docx

《C++选择结构 21道题含问题详解.docx》由会员分享,可在线阅读,更多相关《C++选择结构 21道题含问题详解.docx(24页珍藏版)》请在冰点文库上搜索。

C++选择结构 21道题含问题详解.docx

C++选择结构21道题含问题详解

题目、描述、输入、输出、输入样例、输出样例、测试输入、测试输出

选择01:

整除

请写一个程序:

输入一个正整数值,请查这个值是否可以被17整除,如果可以输出1,否则输出0。

输入34输出1

输入38输出0

测试

输入15输出0

#include

usingnamespacestd;

intmain()

{

intn;

cin>>n;

if(n%17==0)

cout<<"1"<

else

cout<<"0"<

return0;

}

 

选择02:

利润提成

编写一个程序,根据年利润提成,计算企业发放的年度奖金。

利润低于或等于10万元的部分,奖金按10%提取;

利润高于10万元,低于或等于20万元的部分,奖金按7.5%提取;

20万到40万之间的部分,可提成5%;

40万到60万之间部分,可提成3%;

60万到100万之间的部分,可提成1.5%;

超过100万元的部分按1%提成。

从键盘输入当月利润,求应发放奖金总数。

输入9输出0.9

输入15输出1.375

输入30输出2.25

输入50输出3.05

输入80输出3.65

输入120输出4.15

测试:

输入90输出3.8

#include

usingnamespacestd;

intmain()

{

  inta;

  cin>>a;

  if(a<=10)

    cout<<0.1*a<

  elseif(a<=20)

    cout<<1+(a-10)*0.075<

   

    elseif(a<=40)

    cout<<1.75+(a-20)*0.05<

  

   elseif(a<=60)

    cout<<2.75+(a-40)*0.03<

   elseif(a<=100)

    cout<<3.35+(a-60)*0.015<

    else

     cout<<3.95+(a-100)*0.01<

    return0;

}

 

选择03:

征税

税务部门征收所的税,规定如下:

1)收入在1000元以内(含1000),免征;

2)收入在1000~3000元以内(含3000),纳税额为收入的3%;

3)收入超过3000~5000元以内(含5000),纳税为收入4%;

4)当收入超过5000元时,纳税为收入6%。

请根据以上关系,输入收入m,输出应缴纳的税收tax。

输入900输出0

输入2000输出60

输入4000输出160

输入6000输出360

测试:

输入2500输出75

#include

usingnamespacestd;

intmain()

{

    doublem;

    doubletax;

    cin>>m;

    if(m<=1000)

        tax=0;

    elseif(m<=3000)

        tax=m*0.03;

    elseif(m<=5000)

        tax=m*0.04;

    elseif(m>5000)

        tax=m*0.06;

 

    cout<

    return0;

}

 

选择04:

闰年

编写一个程序,输入一个年份,判断该年份是否为闰年,是闰年输出yes否则输出no。

输入:

2000输出:

yes

输入:

2014输出:

no

测试数据:

输入:

1000

输出:

no

#include

usingnamespacestd;

intmain()

{

  inta;

  cin>>a;

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

=0||a%400==0)

cout<<"yes"<

else

cout<<"no"<

    return0;

    }

 

选择05:

等级分

编写一个程序,输入一个正整数表示学生的学习成绩,若学习成绩小于0或大于100,输出illegal,否则若成绩在90~100分之间,输出'A',在60-89分之间的,输出'B',60分以下的输出'C'。

输入90输出A

输入70输出B

输入59输出C

输入120输出illegal

测试:

输入90输出A

#include

usingnamespacestd;

intmain()

{

    inta;

    cin>>a;

    if(a<=100)

       {

        if(a>=90)

        cout<<"A"<

        elseif(a>=60)

        cout<<"B"<

        elseif(a>=0)

        cout<<"C"<

       }

    else

    cout<<"illegal"<

    return0;

}

 

选择06:

工资

某公司的工资根据工作时间发放如下:

1)时间在4小时以内(含4小时),工资为50元;

2)时间在4-8小时(含8小时),在4小时50元的基础上,超出4小时的时间按每小时20元计算;

3)时间超过8小时,在前8小时的工资基础上超出时间按每小时30元计算;

请根据以上关系,输入工作时间,输出应发的工资wage。

输入3输出50

输入7输出110

输入10输出190

测试:

输入12输出250

#include

usingnamespacestd;

intmain()

{

     intn,wage;

     cin>>n;

     if(n<=4)

        wage=50;

     elseif(n<=8)

     wage=50+(n-4)*20;

     else

        wage=50+4*20+(n-8)*30;

     cout<

        return0;

}

 

选择07:

天数

根据历法,凡是1、3、5、7、8、10、12月,每月31天;凡是4、6、9、11月,每月30天;2月闰年29天,平年28天。

闰年的判断方法是:

1)如果年号能被400整除,此年为闰年;

2)如果年号能被4整除但不能被100整除,此年为闰年;

3)其他情况都不是闰年。

编程输入年、月,输出该月的天数。

输入20105输出31

输入20102输出28

测试:

输入20004输出30

#include

usingnamespacestd;

intmain()

{

    inta,b;

    cin>>a>>b;

    switch(b)

    {

    case1:

    case3:

    case5:

    case7:

    case8:

    case10:

    case12:

        cout<<"31"<

    case4:

    case6:

    case9:

    case11:

        cout<<"30"<

    default:

        if(a%400==0||a%4==0&&a%100!

=0)

            cout<<"29"<

        else

            cout<<"28"<

    }

    return0;

}

 

 

选择08:

判断三角形

输入三个整数,表示三角形的三个边长。

当任意两边之和大于第三边时,输出:

合法三角形;否则,输出:

非法三角形。

输入:

367输出:

合法三角形

输入:

3610输出:

非法三角形

#include

usingnamespacestd;

intmain()

{

    inta,b,c;

    cin>>a>>b>>c;

    if(a+b>c&&b+c>a&&a+c>b)

        cout<<"Yes"<

    else

        cout<<"No"<

return0;

}

 

选择09:

最大数

请写一个程序,我们输入三个int类型的数,找出最大的数并输出。

输入:

234输出:

4

测试数据:

输入:

103020输出:

30

#include

usingnamespacestd;

intmain()

{

    inta,b,c,t;

    cin>>a>>b>>c;

    if(a>b)

        t=a;

    else

        t=b;

    if(t>c)

        cout<

    else

        cout<

    return0;

}

 

选择10:

函数

输入int型整数x,若x>0,则y=1;若x=0,则y=0;否则,y=-1。

最后输出y。

输入-5输出-1

输入0输出0

输入4输出1

测试:

输入50输出1

#include

usingnamespacestd;

intmain()

{

    intx;

    cin>>x;

if(x>0)

cout<<"1"<

elseif(x<0)

cout<<"-1"<

else

cout<<"0"<

  return0;

}

 

选择11:

对号入座

有4种水果,单价分别是3.1元/公斤,2.50元/公斤,4.10元/公斤,10.20元/公斤,编号分别为1,2,3,4。

要求从键盘中输入水果的编号,输出该水果的单价。

如果输入不正确的编号,显示单价为0。

输入1输出3.1

输入2输出2.5

输入3输出4.1

输入4输出10.2

输入5输出0

 

测试:

输入6输出0

#include

usingnamespacestd;

intmain()

{

inta;

  

cin>>a;

switch(a)

{

case1:

cout<<3.1<

case2:

cout<<2.5<

case3:

cout<<4.1<

case4:

cout<<10.2<

default:

cout<<0<

  

}

  

return0;

}

 

选择12:

第几天

编写一道程序,输入三个正整数,表示某年某月某日,判断这一天是这一年的第几天?

输入2013712输出193

输入2012515输出136

测试:

输入201235输出65

#include

usingnamespacestd;

intmain()

{

inta,b,c,m;

cin>>a>>b>>c;

switch(b)

{

case1:

m=c;break;

case2:

m=31+c;break;

case3:

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

=0||a%400==0)

m=31+29+c;

else

m=31+28+c;break;

case4:

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

=0||a%400==0)

m==31+29+31+c;

else

m=31+28+31+c;break;

case5:

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

=0||a%400==0)

m=31+29+31+30+c;

else

m=31+28+31+30+c;break;

case6:

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

=0||a%400==0)

m=31+29+31+30+31+c;

else

m=31+28+31+30+31+c;break;

case7:

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

=0||a%400==0)

m=31+29+31+30+31+30+c;

else

m=31+28+31+30+31+30+c;break;

case8:

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

=0||a%400==0)

m=31+29+31+30+31+30+31+c;

else

m=31+28+31+30+31+30+31+c;break;

case9:

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

=0||a%400==0)

m=31+29+31+30+31+30+31+31+c;

else

m=31+28+31+30+31+30+31+31+c;break;

case10:

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

=0||a%400==0)

m=31+29+31+30+31+30+31+31+30+c;

else

m=31+28+31+30+31+30+31+31+30+c;break;

case11:

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

=0||a%400==0)

m=31+29+31+30+31+30+31+31+30+31+c;

else

m=31+28+31+30+31+30+31+31+30+31+c;

case12:

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

=0||a%400==0)

m=31+29+31+30+31+30+31+31+30+31+30+c;

else

m=31+28+31+30+31+30+31+31+30+31+30+c;break;

}

cout<

return0;

}

 

选择13:

是否及格

输入一个学生的数学成绩(正整数),如果它低于60,输出“Fail”,否则,输出“Pass”。

输入65输出Pass

输入50输出Fail

测试:

输入90输出Pass

#include

usingnamespacestd;

intmain()

{

inta;

cin>>a;

if(a<60)

cout<<"Fail"<

else

cout<<"Pass"<

return0;

}

 

选择14:

最小值

输入四个整数,输出其中的最小值。

输入1234输出1

输入2143输出1

输入2314输出1

输入3241输出1

测试:

输入13121411输出11

#include

usingnamespacestd;

intmain()

{

inta,b,c,d;

cin>>a>>b>>c>>d;

if(a

cout<

elseif(b

cout<

elseif(c

cout<

else

cout<

return0;

}

 

选择15:

回文数

输入一个5位数,判断它是不是回文数。

输入12321输出YES

输入12345输出NO

测试:

输入36563输出YES

#include

usingnamespacestd;

intmain()

{

intx,g,w,s,q;

cin>>x;

g=x%10;

w=x/10000;

s=x/10%10;

q=x/1000%10;

if(g==w&&s==q)

cout<<"YES"<

else

cout<<"NO"<

return0;

}

 

选择16:

字母转换

编写程序,要求输入一个字母,若为大写字母,将其转换成相应小写字母输出,否则,原样输出该字母。

输入A输出a

输入g输出g

输入9输出9

测试:

输入T输出t

#include

usingnamespacestd;

intmain()

{

charc;

cin>>c;

if(c>='A'&&c<='z')

c=c+32;

else

c=c;

cout<

return0;

}

 

选择17:

体重

编写一个程序,输入某人的身高(cm)以及体重(kg),按照以下标准对他(她)的体型做测试:

(1)标准体重=身高-110;

(2)超过标准体重5kg(不含5kg)的为“过胖”;(3)低于标准体重5kg(不含5kg)的为“过瘦”(3)既不超过标准体重多于5kg,也不低于标准体重多于5kg的为“标准”

输入17575输出过胖

输入17560输出标准

输入17555输出过瘦

测试:

输入18080输出过胖

#include

usingnamespacestd;

intmain()

{

inta,b;

cin>>a>>b;

if(b>a-110+5)

cout<<"过胖"<

elseif(b

cout<<"过瘦"<

else

cout<<"标准"<

return0;

}

选择18:

加法

从键盘上输入2个加数,再输入答案,如果正确,显示“right”,否则显示“error”

输入358输出right

输入359输出error

测试

输入131528输出right

#include

usingnamespacestd;

intmain()

{

inta,b,c;

cin>>a>>b>>c;

if(a+b==c)

cout<<"right"<

else

cout<<"error"<

return0;

}

 

选择19:

网费

编写一个程序来计算一个月的上网费用,计算方法如下:

若上网时间<=10小时,网费为30元;若10小时<上网时间<=50小时,网费每小时3元;若上网时间>50小时,网费每小时2.5元。

要求输入该月上网小时数,显示该月总的上网费用。

输入8输出30

输入30输出90

输入60输出150

测试:

输入50输出150

#include

usingnamespacestd;

intmain()

{

inta;

cin>>a;

if(a<=10)

cout<<30<

elseif(a>10&&a<=50)

cout<<3*a<

else

cout<<2.5*a<

return0;

}

选择20:

运费

铁路托运行李规定:

行李重不超过50公斤的,托运费按每公斤0.15元计费;如超50公斤,超过部分每公斤加收0.10元。

输入行李重量,输出该行李的托运费。

输入25输出3.75

输入50输出7.5

输入80输出15

测试:

输入80输出15

#include

usingnamespacestd;

intmain()

{

intn;

doublem;

cin>>n;

if(n<=50)

m=n*0.15;

else

m=50*0.15+0.25*(n-50);

cout<

return0;

}

 

选择21:

方程求解

输入一元二次方程的系数a,b,c,计算方程的实数解。

有一个根时输出一个根;有两个根时按照从小到大的顺序输出两个根,两个根之间用空格分隔;

无根时输出“无解”。

输入:

441 输出:

-0.5

输入:

12-3输出:

-31

输入:

123 输出:

无解

#include

#include

usingnamespacestd;

intmain()

{

doublea,b,c,m;

cin>>a>>b>>c;

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

if(m>0)

cout<<(-b-sqrt(m))/(2*a)<<""<<(-b+sqrt(m))/(2*a)<

if(m==0)

cout<<-b/(2*a)<

if(m<0)

cout<<"无解"<

return0;

}

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

当前位置:首页 > 经管营销 > 经济市场

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

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