C++ Primer(第5版) 练习 4.22

练习 4.22 本节的示例程序将成绩划分成high pass、pass和fail三种,扩展该程序使其进一步将60分到75分之间的成绩设定为low pass。要求程序包含两个版本:一个版本只使用条件运算符;另外一个版本使用1个或多个if语句。哪个版本的程序更容易理解呢?为什么?

环境:Linux Ubuntu(云服务器)
工具:vim

 

代码块
/*************************************************************************
	> File Name: ex4.22.cpp
	> Author: 
	> Mail: 
	> Created Time: Tue 06 Feb 2024 11:17:21 AM CST
 ************************************************************************/

#include<iostream>
using namespace std;

int main(){
    string finalgrade;
    int grade;
    cout<<"Enter Grade: ";
    cin>>grade;
    finalgrade = (grade > 90) ? "high pass"
                              : (grade >= 60 && grade < 75) ? "low pass"
                              : (grade < 60) ? "fail" : "pass";
    cout<<"Final Grade(Method1): "<<finalgrade<<endl;

    if(grade > 90){
        finalgrade = "high pass";
    }
    else if(grade >= 75 && grade <= 90){
        finalgrade = "pass";
    }
    else if(grade >= 60 && grade < 75){
        finalgrade = "low pass";
    }
    else{
        finalgrade = "fail";
    }
    cout<<"Final Grade(Method2): "<<finalgrade<<endl;

    return 0;
}
运行结果显示如下

C++ //练习 4.22 本节的示例程序将成绩划分成high pass、pass和fail三种,扩展该程序使其进一步将60分到75分之间的成绩设定为low pass。要求程序包含两个版本:一个版本-LMLPHP

02-07 08:54