top1编程
← 返回题目
题解

期末考试成绩判定

1 条题解

  • 0
    @ 2026-8-5 21:17:14

    P4334 期末考试成绩判定(【入门】)

    解题思路

    成绩分三档:

    • 大于等于 80 分:优秀,输出 great;
    • 60~79 分:合格,输出 pass;
    • 60 分以下:不及格,输出 fail。

    判断时从高到低最省事:先看 n >= 80,再看 n >= 60,剩下的就是 fail。因为 if...else if...else 会按顺序找第一个成立的条件,所以"剩下的"必然是 60 分以下。

    拿样例输入 85 来说,85≥80,直接输出 great。

    边界情况:80 分正好是优秀,79 分是合格,60 分是合格,59 分是不及格,边界分值要判断清楚。题目保证分数在 0~100 之间,但就算输入 0 或 100,程序也能正确处理:0 走 else 输出 fail,100 走第一个分支输出 great。

    参考代码

    // 根据成绩输出优秀、合格或不及格
    #include <iostream>
    using namespace std;
    
    int main() {
        int n;
        cin >> n;
        if (n >= 80) cout << "great" << endl;        // 80分及以上优秀
        else if (n >= 60) cout << "pass" << endl;    // 60~79分合格
        else cout << "fail" << endl;                 // 60分以下不及格
        return 0;
    }
    

    复杂度分析

    最多判断 3 次就能得到等级,所以时间复杂度是 O(1)O(1)。只用一个整数变量,额外空间复杂度也是 O(1)O(1)。

    • 1