以下是一个 C语言 代码示例,可以从一个数组中找出最大的三个数:

#include <stdio.h>

int main() {
    int nums[] = {5, 12, 3, 17, 8, 10}; // 数组
    int n = sizeof(nums) / sizeof(int); // 数组长度
    int best[3] = {0}; // 存储最大的三个数
    int i;

    // 找出最大的三个数
    for (i = 0; i < n; i++) {
        if (nums[i] > best[0]) {
            best[2] = best[1];
            best[1] = best[0];
            best[0] = nums[i];
        } else if (nums[i] > best[1]) {
            best[2] = best[1];
            best[1] = nums[i];
        } else if (nums[i] > best[2]) {
            best[2] = nums[i];
        }
    }

    // 输出最大的三个数
    printf("The best three numbers are: %d, %d, %d\n", best[0], best[1], best[2]);

    return 0;
}

运行结果:

The best three numbers are: 17, 12, 10

解释:

上面的程序中,我们首先定义了一个整型数组 'nums',其中包含了一些数字。然后我们使用了一个循环遍历数组中的每一个数字,同时使用了一个数组 'best' 来存储最大的三个数字。

在循环中,我们首先判断当前数字是否大于 'best[0]',如果是的话,那么我们就将 'best[0]' 的值赋给 'best[2]',将 'best[1]' 的值赋给 'best[1]',最后将当前数字赋给 'best[0]'。这样,我们就找到了当前最大的数字,它是数组中的最大值。

如果当前数字不是最大值,那么我们就依次判断它是否大于 'best[1]' 和 'best[2]',如果是的话就更新 'best[1]' 或 'best[2]' 的值。这样,我们就可以找到数组中的最大的三个数字了。

最后,我们输出 'best[0]'、'best[1]' 和 'best[2]' 的值,就得到了最大的三个数字。

C语言找出数组中最大的三个数 - 代码示例与解析

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

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