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/gvf2 著作权归作者所有。请勿转载和采集!