#include <stdio.h>

void FindMax(int a[], int n, int *pmax1, int *pmax2) { *pmax1 = a[1]; // 初始化最大值为数组第一个元素 *pmax2 = a[2]; // 初始化次大值为数组第二个元素

// 遍历数组,更新最大值和次大值
for (int i = 3; i <= n; i++) {
    if (a[i] > *pmax1) {
        *pmax2 = *pmax1;
        *pmax1 = a[i];
    } else if (a[i] > *pmax2) {
        *pmax2 = a[i];
    }
}

}

int main() { int a[50], n, i; int max1, max2; scanf('%d', &n); for (i = 1; i <= n; i++) scanf('%d', &a[i]); FindMax(a, n, &max1, &max2); printf('%d %d ', max1, max2);

return 0;

}

C语言查找数组最大值和次大值:算法实现与代码详解

原文地址: https://www.cveoy.top/t/topic/eDsO 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录