📌  相关文章
📜  数据集的最大值、最小值、平均值和中位数.在数组中 c 编程 - C 编程语言(1)

📅  最后修改于: 2023-12-03 14:54:58.054000             🧑  作者: Mango

数据集的最大值、最小值、平均值和中位数

在 C 编程语言中,我们可以使用数组来表示一个数据集,然后计算数据集的最大值、最小值、平均值和中位数。下面是一个示例代码:

#include <stdio.h>
#include <stdlib.h>

#define ARRAY_SIZE 10

int cmp(const void *a, const void *b)
{
    return (*(int *)a - *(int *)b);
}

int main()
{
    int data[ARRAY_SIZE] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
    int max = data[0];
    int min = data[0];
    int sum = 0;
    double avg = 0;
    int mid = 0;

    qsort((void *)data, ARRAY_SIZE, sizeof(int), cmp);

    // 计算最大值、最小值、总和和平均值
    for (int i = 0; i < ARRAY_SIZE; i++)
    {
        if (data[i] > max)
            max = data[i];
        if (data[i] < min)
            min = data[i];
        sum += data[i];
    }
    avg = (double)sum / ARRAY_SIZE;

    // 计算中位数
    if (ARRAY_SIZE % 2 == 0)
        mid = (data[ARRAY_SIZE / 2 - 1] + data[ARRAY_SIZE / 2]) / 2;
    else
        mid = data[ARRAY_SIZE / 2];

    printf("最大值:%d\n", max);
    printf("最小值:%d\n", min);
    printf("平均值:%.2f\n", avg);
    printf("中位数:%d\n", mid);

    return 0;
}

代码中,我们首先使用 qsort 函数对数组进行升序排序(要使用 stdlib.h 头文件),然后通过循环遍历计算最大值、最小值、总和和平均值,最后再计算中位数。这个代码可以处理任意大小的数组。

如果需要处理更复杂的数据类型(例如字符串或自定义结构体),可以使用适当的比较函数来完成排序和计算。