C语言比较两个数组并选出最大三个值
以下是一个基于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 著作权归作者所有。请勿转载和采集!