top1编程
← 返回题目
题解

比较后输出最大值

1 条题解

  • 0
    @ 2026-7-31 11:41:24

    解题思路

    题目要求从三个数 a、b、c 里找出最大的一个并输出。

    思路:

    1. 先假设 a 是最大的,把它记到 mx 里
    2. 用 b 和 mx 比,如果 b 更大,就把 mx 更新成 b
    3. 再用 c 和 mx 比,如果 c 更大,就把 mx 更新成 c
    4. 最后 mx 就是三个数里最大的

    这种方法叫打擂台:先找一个选手当擂主,后面的选手一个个来挑战,赢的当新擂主。

    为什么能这么做? 因为最大值就是比所有数都大的那个,每比一个数就更新一次,比完所有数后剩下的就是最大的。

    参考代码

    #include <iostream>
    using namespace std;
    
    int main() {
        int a, b, c;
        cin >> a >> b >> c;
    
        int mx = a;          // 先假设 a 最大
        if (b > mx) mx = b;  // b 更大就更新
        if (c > mx) mx = c;  // c 更大就更新
    
        cout << mx << endl;
        return 0;
    }
    

    复杂度分析

    • 时间复杂度:O(1),只比较两次
    • 空间复杂度:O(1)
    • 1