多分支语句

当判断的分支超过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;
}