if语句及其嵌套

if语句的嵌套是指在if……else……分支中还存在if……else……语句。一般用来解决三种及以上的分支情况。

下面例题就是if里面又嵌套了if……else……

例1:

#include<bits/stdc++.h>

using namespace std;

int main()

{    

        int a;

        cin>>a;

        if ( a>50 )

        if( a<80)     cout<<"A";

        else cout<<"B";

    return 0;

}

         试试把上面程序复制到C++里运行,并分别输入70,90,30,运行结果分别是________,________,_______

        想一想程序是怎样执行的。

  说明:else总是与它上面最近的,且未配对的if配对。因此,上面程序的else 与 第二个if配对。

  

 为了清晰表达if语句的嵌套,通常程序中采用缩进方式表示,让同层的if与else对齐。上面程序可以写成:

#include<bits/stdc++.h>

using namespace std;

int main()

{    

       int a;

       cin>>a;

        if ( a>50 )

             if( a<80)     cout<<"A";

             else cout<<"B";

    return 0;

}

卖苹果 查看测评数据信息

水果店卖苹果,一般每斤卖8元;如果顾客一次买苹果超过5斤,则每斤收费5元;如果顾客一次买苹果超过20斤,则每斤收费4元。现请你模拟顾客购买水果,从键盘输入购苹果的重量,显示需要的付款数。

输入格式

1个数,表示购买苹果的质量。

输出格式

表示实际付款数

输入/输出例子1

输入:

3

输出:

24

#include<bits/stdc++.h>
using namespace std;
int main(){
    int n;
    cin>>n;
    if(n<=5)cout<<n*8;
    if(n>5&&n<=20)cout<<n*5;
    if(n>20)cout<<n*4;
  
    return 0;
}

商场大促销 查看测评数据信息

超市举行促销活动后,销量大增,为了进一步提高销量,对促销活动制定了新的规则:所购物品不超过100元时,按九折付款;所购物品价格在100~200元时,超过100元部分按八折收费;所购物品价格在200元以上时,超过200元部分按七折收费。编你重新编写一个计费程序。

输入格式

购物原价。

输出格式

实际付款数。

输入/输出例子1

输入:

220

输出:

184

#include<bits/stdc++.h>
using namespace std;
int a;
int main(){
    cin>>a;
    if(a<=100)cout<<a*0.9;
    if(a>100&&a<=200)cout<<100*0.9+(a-100)*0.8;
    if(a>200)cout<<170+(a-200)*0.7;
    
    return 0;
}

密码计算器 查看测评数据信息

请你编写一个自动计算的程序,第一行输入2个要运算的整数a,b(1000>a>b>1),第二行输入计算密码c,密码如下:1是加法运算,2是减法运算,3是乘法运算,4是除法运算。根据密码,电脑就会自动计算出结果(保证得数是整数)。

输入格式

分2行输入:第一行2个数,表示要运算的两个整数a和b;第二行1个数,表示计算的密码。

输出格式

计算的得数。

输入/输出例子1

输入:

14 8 

输出:

22

#include<bits/stdc++.h>
using namespace std;
int main(){
    int a,b,c;
    cin>>a>>b;
    cin>>c;
    if(c==1)cout<<a+b;
    else if(c==2)cout<<a-b;
    else if(c==3)cout<<a*b;
    else if(c==4)cout<<a/b;
              
    return 0;
}

学段 查看测评数据信息

中小学各学段学生的年龄范围都是不同的,小学(xiaoxue):6-12岁(含6、12岁),初中(chuzhong):13-15岁(含13、15岁),高中(gaozhong):16-18岁(含16、18岁),请编写一个程序,当输入一个学生的年龄(整数)时,输出 是哪个学段。

输入格式

一个整数,表示年龄。

输出格式

对应学段的拼音

输入/输出例子1

输入:

6

输出:

xiaoxue

#include<bits/stdc++.h>
using namespace std;
int main(){
    int a;
    cin>>a;
    if(a<=12)cout<<"xiaoxue";
    else if(a<=15)cout<<"chuzhong";
    else cout<<"gaozhong";
    return 0;
}

抽奖 查看测评数据信息

某广场举行购物抽奖活动,购物100元以上的可以参与抽奖,根据购物所用钱的总数决定抽奖次数。规则如下:100~199元抽奖1次,200~399抽奖2次,400~799抽奖3次,800以上抽奖4次,小于100抽奖0次。

输入格式

1个数,表示某个人购物的总钱数。

输出格式

这个人可以抽奖的次数。

输入/输出例子1

输入:

250

输出:

2

输入/输出例子2

输入:

500

输出:

3

#include<bits/stdc++.h>
using namespace std;
int a;
int main(){
    cin>>a;
    if(a>=100&&a<=199)cout<<1;
    if(a>=200&&a<=399)cout<<2;
    if(a>=400&&a<=799)cout<<3;   
    if(a>=800)cout<<4;
    if(a<=100)cout<<0; 
    return 0;
}

查询课程 查看测评数据信息

小红忘记了今天的课程表上什么课,请你编写一个程序,只要输入1个整数a(1≤a≤6),就可以输出这个节上什么课(用拼音表示)。

节数 1 2 3 4 5 6

课程 语文 语文 数学 体育 英语 音乐

拼音 yuwen yuwen shuxue tiyu yingyu yinyue

输入格式

一个整数

输出格式

科目的拼音

输入/输出例子1

输入:

1

输出:

yuwen

输入/输出例子2

输入:

4

输出:

tiyu

#include<bits/stdc++.h>
using namespace std;
int main(){
    int a;
    cin>>a;
    if(a==1)cout<<"yuwen";
    if(a==2)cout<<"yuwen";
    if(a==3)cout<<"shuxue";    
    if(a==4)cout<<"tiyu";   
    if(a==5)cout<<"yingyu";    
    if(a==6)cout<<"yinyue";    
        
        
        
    return 0;
}

奖金 查看测评数据信息

某车间按工人加工零件的数量发放奖金,奖金分为五个等级:每月加工零件数n<100者奖金为10元;100≤n<110者奖金为30元;110≤n<120 者奖金为50元;120≤n<130 者奖金为70元;n>130者为80元。

输入格式

1个数,表示某个工人加工零件的数量。

输出格式

这个工人的奖金。

输入/输出例子1

输入:

80

输出:

10

输入/输出例子2

输入:

135

输出:

80

#include<bits/stdc++.h>
using namespace std;
int main(){
    int a;
    cin>>a;
    if(a<100)cout<<"10";
    if(100<=a&&a<110)cout<<"30";
    if(110<=a&&a<120)cout<<"50";   
    if(120<=a&&a<130)cout<<"70";
    if(a>130)cout<<"80"; 
    return 0;
}

在区间里 ( 课程8 ) 查看测评数据信息

输入3个正整数a、b和c,如果c在区间[a, b]内输出”in”,否则输出”out”。
注意:方括号表示的是闭区间,[a, b]是包括a和b的。

输入格式

 一行3个正整数:a、b和c,范围在[1, 1000000],a ≤ b。

输出格式

 in或out。

输入/输出例子1

输入:

4  8   5

输出:

in

#include<bits/stdc++.h>
using namespace std;
int main(){
    int a,b,c;
    cin>>a>>b>>c;
    if(c>=a&&c<=b)cout<<"in";
    else cout<<"out";
    return 0;
}

区间交集 ( 课程8 ) 查看测评数据信息

输入5个正整数a1、b1、a2、b2和c,如果c在区间[a1, b1]内 并且 c也在区间[a2, b2]内 输出”in”,否则输出”out”。
注意:方括号表示的是闭区间,[a, b]是包括a和b的。

输入格式

一行5个正整数:a1、b1、a2、b2和c,范围在[1, 1000000],a1 ≤ b1,a2 ≤ b2。

输出格式

in或out。

输入/输出例子1

输入:

4  8  6  10  5

输出:

out

#include<bits/stdc++.h>
using namespace std;
int main(){
    int a1,b1,a2,b2,c;
    cin>>a1>>b1>>a2>>b2>>c;
    if(c>=a1&&c<=b1&&c>=a2&&c<=b2)cout<<"in";
    else cout<<"out";
    
    return 0;
}

区间并集 ( 课程8 ) 查看测评数据信息

输入5个正整数a1、b1、a2、b2和c,如果c在区间[a1, b1]内 或者 在区间[a2, b2]内 输出”in”,否则输出”out”。
注意:方括号表示的是闭区间,[a, b]是包括a和b的。

输入格式

一行5个正整数:a1、b1、a2、b2和c,范围在[1, 1000000],a1 ≤ b1,a2 ≤ b2。

输出格式

in或out。

输入/输出例子1

输入:

 4  8  6  10  5

输出:

in

#include<bits/stdc++.h>
using namespace std;
int main(){
    int a1,b1,a2,b2,c;
    cin>>a1>>b1>>a2>>b2>>c;
    if(c>=a1&&c<=b1||c>=a2&&c<=b2)cout<<"in";
    else cout<<"out";
   
    return 0;
}

  • 45
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值