- zouyc 的博客
多分支语句
- @ 2025-5-23 21:35:35
多分支语句
当判断的分支超过2个时,就是多分支结构。

练习题:成绩评定

题解:
/*
成绩评定 v1.0.0
语法紧凑版本 { } 很紧密写在一起
*/
#include <iostream>
using namespace std;
int main() {
int n;
char grade;
cin>>n;
if(n>=90){grade='A';}
else if(n>=80){grade='B';}
else if(n>=70){grade='C';}
else if(n>=60){grade='D';}
else{grade='E';}
cout<<grade;
return 0;
}
上面的语法过于紧凑,不好阅读,建议初学者使用松散的,括号上下对齐的语法。如下:
/*
多分支 v1.0.1
语法松散版本,可读性好
if else if ... else
*/
#include <iostream>
using namespace std;
int main()
{
int n;
char grade;
cin>>n;
if (n>=90)
{
grade='A';
}
else if (n>=80)
{
grade='B';
}
else if (n>=70)
{
grade='C';
}
else if (n>=60)
{
grade='D';
}
else
{
grade='E';
}
cout<<grade;
return 0;
}
流程图:

练习题:阶梯电价

题解:
#include <iostream>
using namespace std;
int main() {
int s;
double cost;
cin>>s;
if(s<=150){
cost=s*0.4463;
}
else if(s<=400){
cost=150*0.4463+(s-150)*0.4663;
}
else{
cost=150*0.4463+250*0.4663+(s-400)*0.5663;
}
printf("%.1f",cost);
return 0;
}
练习题:骑车与走路
#include<iostream>
using namespace std;
int main() {
double a=0,b=0,c=0;
cin>>c;
a=a+27;
a=a+23;
a=a+c/3.0;
b=b+c/1.2;
if(a>b){
cout<<"Walk";
}
if(a<b){
cout<<"Bike";
}
if(a==b){
cout<<"All";
}
return 0;
}
练习题:计算邮资
#include <iostream>
using namespace std;
int main() {
int n;
char c; //'y'
cin>>n>>c;
int f;
f=8; //最少8元
if (n>1000) {
int d=n-1000;
if (d%500==0) {
f+=4*d/500;
}
else {
f+=4*(d/500+1);
}
}
if (c=='y')
f+=5;
cout<<f;
return 0;
}