用c语言写以下程序:计算平均数、中位数和众数,程序运行结果示例: Input the feedbacks of 40 students: 10 9 10 8 7 6 5 10 9 8↙ 8 9 7 6 10 9 8 8 7 7↙ 6 6 8 8 9 9 10 8 7 7↙ 9 8 7 9 7 6 5 9 8 7↙ Mean value=7 Median value=8 Mode value=8 输入格式: "%d" 输出格式: 输入数据的提示信息:"Input the feedbacks of 40 students:\n" 平均数输出:"Mean value=%d\n" 中位数输出:"Median value=%d\n" 众数输出: "Mode value=%d\n"
时间: 2023-12-31 11:07:15 浏览: 253
下面是使用C语言编写的程序,可以计算平均数、中位数和众数:
```c
#include <stdio.h>
#include <stdlib.h>
#define STUDENT_NUM 40
int cmp(const void *a, const void *b) {
return (*(int*)a) - (*(int*)b);
}
int main() {
int feedbacks[STUDENT_NUM];
int i, sum = 0, mode_count = 0, mode_value = 0;
float mean_value = 0.0f;
printf("Input the feedbacks of 40 students:\n");
for (i = 0; i < STUDENT_NUM; i++) {
scanf("%d", &feedbacks[i]);
sum += feedbacks[i];
}
// 计算平均数
mean_value = (float)sum / STUDENT_NUM;
printf("Mean value=%d\n", (int)mean_value);
// 计算中位数
qsort(feedbacks, STUDENT_NUM, sizeof(int), cmp);
printf("Median value=%d\n", feedbacks[STUDENT_NUM / 2]);
// 计算众数
for (i = 0; i < STUDENT_NUM; i++) {
int count = 0;
int j;
for (j = 0; j < STUDENT_NUM; j++) {
if (feedbacks[j] == feedbacks[i]) {
count++;
}
}
if (count > mode_count) {
mode_count = count;
mode_value = feedbacks[i];
}
}
printf("Mode value=%d\n", mode_value);
return 0;
}
```
程序中使用了一个 `qsort()` 函数对输入的数据进行排序,以便计算中位数。同时使用两个变量 `mode_count` 和 `mode_value` 来记录出现次数最多的数字,以便计算众数。
阅读全文