hdu2004

原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=2004
用if,else语句:
AC代码一:

#include <bits/stdc++.h>
using namespace std;

int n;

int main(){
    
    
	while(cin >> n){
    
    
		if(n >= 90 && n <= 100) cout << "A" << endl;
		else if(n >= 80 && n <= 89) cout << "B" << endl;
		else if(n >= 70 && n <= 79) cout << "C" << endl;
		else if(n >= 60 && n <= 69) cout << "D" << endl;
		else if(n >= 0 && n <= 59) cout << "E" << endl;
		else cout << "Score is error!" << endl;
	}
	return 0;
}

AC代码二:

#include <bits/stdc++.h>
using namespace std;

int n;

int main(){
    
    
	while(cin >> n){
    
    
		if(n > 100 || n < 0) cout << "Score is error!" << endl;
		else{
    
    
			if(n >= 90) cout << "A" << endl;
			else if(n >= 80) cout << "B" << endl;
			else if(n >= 70) cout << "C" << endl;
			else if(n >= 60) cout << "D" << endl;
			else cout << "E" << endl;
		}	
	}
	return 0;
}

switch语句:
AC代码一:

#include <bits/stdc++.h>
using namespace std;
int n;
int main(){
    
    
	while(cin >> n){
    
    
		if(n > 100 || n < 0) {
    
    
			cout << "Score is error!" << endl;
			continue;
		}
		int grade = n / 10;
		switch(grade){
    
    
			case 10:
			case 9: cout << "A" << endl; break;
			case 8: cout << "B" << endl; break;
			case 7: cout << "C" << endl; break;
			case 6: cout << "D" << endl; break;
			default: cout << "E" << endl; break;
		}
	}	
	return 0;
}

有第一重if一定要加上一个continue,不然样例123的时候输出会多一个E。
AC代码二:

#include <bits/stdc++.h>
using namespace std;
int n;
int main(){
    
    
	while(cin >> n){
    
    
		if(n > 100 || n < 0) {
    
    
			cout << "Score is error!" << endl;
		}
		else {
    
    
			int grade = n / 10;
			switch(grade){
    
    
				case 10:
				case 9: cout << "A" << endl; break;
				case 8: cout << "B" << endl; break;
				case 7: cout << "C" << endl; break;
				case 6: cout << "D" << endl; break;
				default: cout << "E" << endl; break;
			}
		}
	}	
	return 0;
}

给第一重if匹配一个else语句。

猜你喜欢

转载自blog.csdn.net/LXC_007/article/details/113780323