数组找最大

8 分钟

班里选大个子,老师先随便让第一个同学站上台当"暂时最高",剩下的同学一个个上来比身高,谁比台上的高就换谁上去。全部比完,台上站的就是最高的。找数组最大值就是这个办法:先把 a[0] 当暂时最大,再逐个比过去。

#include <iostream>
using namespace std;
int main(){
    int a[4] = {2, 8, 5, 3};
    int mx = a[0];
    for(int i = 1; i < 4; i++)
        if(a[i] > mx) mx = a[i];
    cout << mx << endl; // 8
    return 0;
}

注意:循环从 i=1 开始,因为 a[0] 已经当过"暂时最大"了。别把 mx 初始化成 0——如果数组里全是负数,最大值会被错当成 0。用 a[0] 起手最稳妥。

小纸条

上面跑完 mx 是几?

登录 后可看答案

数组找最大 · C++ 入门 · op599 课程