C++蓝桥等考导学/四级:分支结构入门/之三:双分支选择结构(15双分支选择结构)

一、观看视频

01】if-else语句【02】温度判断【03】判断四位数【04】行李运费【05】出租车车费

06】跳远比赛

二、研读学生讲义

【学生讲义】01】if-else语句【学生讲义】02】温度判断【学生讲义】03】判断四位数【学生讲义】04】行李运费【学生讲义】05】出租车车费

【学生讲义】【06】跳远比赛

三、练习题(不清楚回头查看有关视频或讲义)【01】下图为双分支结构流程图,请在适当的地方填上true和false两个逻辑值:

 

02】下面是双分支结构的示例代码,把适当的语句填入流程图中:

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

#include<iostream>using namespace std;int main(){    int x;    cout << "输入小智的平均分:"    cin >> x;    if(x > 90)    {      cout << "可以出去玩";    }    else    {      cout << "在家学习!!!";   }  return 0;}

03】问题:温度在20°~30°之间(包含20和30)可以去郊游,否则取消。下面代码正确的是(可多选):

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

#include<iostream>using namespace std;int main(){    int t;    cin >> t;    if(t >= 20 && t <= 30)    {      cout << "YES" << endl;    }    else    {      cout << "NO" << endl;   }  return 0;}

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

#include<iostream>using namespace std;int main(){    int t;    cin >> t;    if(t >= 20 && t <= 30)      cout << "YES" << endl;    else      cout << "NO" << endl;   return 0;}

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

#include<iostream>using namespace std;int main(){    int t;    cin >> t;    if(t >= 20 && t <= 30)cout << "YES" << endl;    else cout << "NO" << endl;   return 0;}

04】输入一个整数,判断这个数是否是四位数。下面的代码错误的是:

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

#include<iostream>using namespace std;int main(){    int n;    cin >> n;    if(n > 999 && n < 10000)cout << "yes" << endl;    else cout << "no" << endl;     return 0;}

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

#include<iostream>using namespace std;int main(){    int n;    cin >> n;    if(n >= 1000 && n <= 9999)    {      cout << "yes" << endl;    }    else{       cout << "no" << endl;     }    return 0;}

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

#include<iostream>using namespace std;int main(){    int n;    cin >> n;    if(n > 1000 && n < 9999){      cout << "yes" << endl;    }    else{       cout << "no" << endl;   }  return 0;}

05】行李不超过20公斤每公斤1.68元,超过20公斤全部1.98元每公斤计费。下面代码正确的是(可多选):

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

#include<iostream>using namespace std;int main(){    double w, p;    cin >> w;    if(w <= 20){      p = w * 1.68;    }    else{      p = w * 1.98;     }    cout << p << endl;    return 0;}

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

#include<iostream>using namespace std;int main(){    double w, p;    cin >> w;    if(w <= 20)p = 1.68;    else p = 1.98;     cout << w * p << endl;    return 0;}

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

#include<iostream>using namespace std;int main(){    double w, p;    cin >> w;    if(w <= 20)p = w * 1.68;    else{      p = 20 * 1.68 + (w - 20) * 1.98;  }    cout << p << endl;  return 0;}

06】出租车费3公里(包含)内每公里5元,超出部分每公里2.3元,输入路程,计算车费。下面代码正确的是(可多选):

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

#include<iostream>using namespace std;int main(){    double s, p;    cin >> s;    if(s <= 3)p = s * 5;    else{      p = 3 * 5 + (s - 3) * 2.3;  }    cout << p << endl;  return 0;}

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

#include<iostream>using namespace std;int main(){    double s, p;    cin >> s;    p = s * 2.3;    if(s <= 3)p += s * (5-2.3);      else    {      p += 3 * (5-2.3);    }    cout << p << endl;    return 0;}

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

#include<iostream>using namespace std;int main(){    double s, p;    cin >> s;    p = s * 5;    if(s > 3)     {      p -= (s - 3) * (5-2.3);    }    cout << p << endl;    return 0;}

07】跳远三次的平均值不少于8米获得参赛资格。下面的代码正确的是(可多选):

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

#include<iostream>using namespace std;int main(){    double d1, d2, d3;    cin >> d1 >> d2 >> d3;    double d = (d1 + d2 +d3) / 3;    if(d >= 8)     {      cout << "Qualified";  }  else  {    cout << "Disqualified";  }  return 0;}

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

#include<iostream>using namespace std;int main(){    double d1, d2, d3;    cin >> d1 >> d2 >> d3;    double d = d1 + d2 +d3;    if(d >= 8 * 3) {cout << "Qualified";}  else cout << "Disqualified";  return 0;}

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

#include<iostream>using namespace std;int main(){    double d1, d2, d3;    cin >> d1 >> d2 >> d3;    double d = d1 + d2 +d3 - 8 * 3;    if(d >= 0)     cout << "Qualified";  else     cout << "Disqualified";  return 0;}

08】OpenJudge练习
OpenJudge-1.4-02】输出绝对值OpenJudge-1.4-03】奇偶数判断【OpenJudge-1.4-04】奇偶ASCII值判断【OpenJudge-1.4-07】收集瓶盖赢大奖