用c语音从键盘输入10个数,求出最大数,最小数和平均值,并统计输出低于平均数的数字和个数
时间: 2024-12-29 19:36:51 浏览: 20
在C语言中,为了实现这个功能,你需要使用标准库函数如`scanf`读取用户输入的数值,`sort`函数找到最大值和最小值,以及一些简单的数学计算来求平均值。这里是一个简化的示例程序:
```c
#include <stdio.h>
#include <stdlib.h> // 引入sort函数
void swap(int* a, int* b) {
int temp = *a;
*a = *b;
*b = temp;
}
// 冒泡排序算法找到数组中的最大值和最小值
int findMinMax(int arr[], int n) {
int max = arr[0], min = arr[0];
for (int i = 1; i < n; i++) {
if (arr[i] > max)
max = arr[i];
else if (arr[i] < min)
min = arr[i];
}
return max, min;
}
// 计算平均值
double calculateAverage(int arr[], int n) {
int sum = 0;
for (int i = 0; i < n; i++)
sum += arr[i];
return (double)sum / n;
}
int main() {
int num[10], count_below_avg = 0;
printf("请输入10个整数:");
for (int i = 0; i < 10; i++) {
scanf("%d", &num[i]);
}
// 对数组进行排序
int len = sizeof(num) / sizeof(num[0]);
qsort(num, len, sizeof(int), compare); // 假设compare是自定义比较函数
// 找到最大值、最小值和平均值
int max = findMinMax(num, 10)[0];
int min = findMinMax(num, 10)[1];
double avg = calculateAverage(num, 10);
printf("最大数: %d\n", max);
printf("最小数: %d\n", min);
printf("平均值: %.2f\n", avg);
// 统计并打印低于平均值的数字和个数
for (int i = 0; i < 10; i++) {
if (num[i] < avg) {
printf("%d 小于平均值,\n", num[i]);
count_below_avg++;
}
}
printf("\n有 %d 个数字低于平均值。\n", count_below_avg);
return 0;
}
```
在这个程序中,你需要提供一个自定义的比较函数`compare`给`qsort`函数来对整数数组进行排序。这是整个过程的一个概述,实际编写时需要添加适当的错误处理。
阅读全文