C++蓝桥等考导学/四级:分支结构入门/之四:多分支选择结构(16多分支选择结构)(四级完)

一、观看视频

01】if-else if-else语句【02】计算位数

03】季节判断

二、研读学生讲义

【学生讲义】01】if-else if-else语句【学生讲义】02】计算位数

【学生讲义】【03】季节判断

三、练习题(不清楚回头查看有关视频或讲义)【01】下面哪个流程图是多分支结构:

 

 

02】下面哪个代码是多分支结构代码:

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

#include<iostream>using namespace std;int main(){    int s;    cin >> s;    if(s < 0)      cout << "成绩不能为负";  else if (s > 100)      cout << "成绩不能超出100";  else if (s >= 85)      cout << "优秀";  else if (s >= 75)      cout << "良好";     else if (s >= 60)      cout << "及格";     else      cout << "不及格";   return 0;}

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

#include<iostream>using namespace std;int main(){    int s;    cin >> s;    if(s < 0)      cout << "成绩不能为负";  if (s > 100)      cout << "成绩不能超出100";  if (s >= 85 && s <= 100)      cout << "优秀";  if (s >= 75 && s < 85)      cout << "良好";     if (s >= 60 && s < 75)      cout << "及格";     if (s >= 0 && s < 60)      cout << "不及格";   return 0;}

多分支结构的else if中的默认条件:多分支结构实际是双分支结构的嵌套,那么else if就有一个默认条件是——if中的条件不成立。例如上面的代码①。
03】输入一个正整数,判断是几位数,超过三位标注“超过三位数”。下面代码正确的是(可多选):

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

#include<iostream>using namespace std;int main(){    int n;    cin >> n;    if(n < 10)      cout << "一位数" << endl;  else if (n < 100)      cout << "两位数" << endl;  else if (n < 1000)      cout << "三位数" << endl;  else      cout << "超出三位数" << endl;  return 0;}

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

#include<iostream>using namespace std;int main(){    int n;    cin >> n;    if(n <= 9)      cout << "一位数" << endl;  else if (n <= 99)      cout << "两位数" << endl;  else if (n <= 999)      cout << "三位数" << endl;  else      cout << "超出三位数" << endl;  return 0;}

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

#include<iostream>using namespace std;int main(){    int n;    cin >> n;    if (n > 999)        cout << "超出三位数" << endl;  else if (n > 99)      cout << "三位数" << endl;  else if (n > 9)      cout << "两位数" << endl;    else      cout << "一位数" << endl;  return 0;}

04】输入一个月份(正整数),输出季节。下面代码正确的是(可多选):

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

#include<iostream>using namespace std;int main(){    int s;    cin >> s;    if(s == 12) s = 0;    if(s > 12)        cout << "wrong number" << endl;    else if (s > 8)        cout << "autumn" << endl;    else if (s > 5)        cout << "summer" << endl;    else if (s > 2)        cout << "spring" << endl;    else        cout << "winter" << endl;    return 0;}

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

#include<iostream>using namespace std;int main(){    int s;    cin >> s;    if(s == 12 || s <=2)        cout << "winter" << endl;    else if ( s <= 5)        cout << "spring" << endl;    else if ( s <= 8)        cout << "summer" << endl;    else if ( s <= 11)        cout << "autumn" << endl;    else        cout << "wrong number" << endl;        return 0;}

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

#include<iostream>using namespace std;int main(){    int s;    cin >> s;    if(s <= 2)        cout << "winter" << endl;    else if ( s <= 5)        cout << "spring" << endl;    else if ( s <= 8)        cout << "summer" << endl;    else if ( s <= 11)        cout << "autumn" << endl;    else if ( s == 12)        cout << "winter" << endl;    else        cout << "wrong number" << endl;        return 0;}

05】OpenJudge练习
OpenJudge-1.4-01】判断数正负
OpenJudge-1.4-05】整数大小比较【OpenJudge-1.4-12】骑车与走路【洛谷1422】小玉家的电费