📅  最后修改于: 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
头文件),然后通过循环遍历计算最大值、最小值、总和和平均值,最后再计算中位数。这个代码可以处理任意大小的数组。
如果需要处理更复杂的数据类型(例如字符串或自定义结构体),可以使用适当的比较函数来完成排序和计算。