以下是一个基于C语言的示例代码,可以比较两个数组并选择出最优的三个数值:

#include <stdio.h>

#define SIZE 5

int main() {
    int arr1[SIZE] = {5, 3, 8, 2, 7};
    int arr2[SIZE] = {6, 9, 4, 1, 10};
    int max[3] = {0};

    for (int i = 0; i < SIZE; i++) {
        int curr = arr1[i] + arr2[i];
        if (curr > max[0]) {
            max[2] = max[1];
            max[1] = max[0];
            max[0] = curr;
        } else if (curr > max[1]) {
            max[2] = max[1];
            max[1] = curr;
        } else if (curr > max[2]) {
            max[2] = curr;
        }
    }

    printf('The three highest values are: %d, %d, %d\n', max[0], max[1], max[2]);

    return 0;
}

在这个示例代码中,我们定义了两个长度相等的整型数组 'arr1' 和 'arr2',并使用一个 'for' 循环来遍历它们。在每次循环迭代中,我们将两个数组中相应位置上的值相加,并将结果存储在变量 'curr' 中。

接着,我们使用一些条件语句来检查当前值是否超过了已经保存的最大值,并对 'max' 数组进行更新。如果当前值大于 'max[0]',则将其存储在 'max[0]' 中,并将 'max[1]' 和 'max[2]' 中原来的值向后移动一位。如果当前值不超过 'max[0]' 但超过了 'max[1]',则将其存储在 'max[1]' 中,并将 'max[2]' 中原来的值向后移动一位。如果当前值不超过 'max[1]' 但超过了 'max[2]',则将其存储在 'max[2]' 中。

最后,我们输出 'max' 数组中存储的前三个最大值即可。在这个示例代码中,输出结果为 'The three highest values are: 16, 13, 12'。


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

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