输入10个整数,输出它们的平均值,并求出与平均值之差的绝对值为最小的所有数组元素。
时间: 2025-01-02 12:48:00 浏览: 7
为了实现这个功能,你需要首先计算这10个整数的平均值,然后遍历整个数组,找出那些与平均值之差的绝对值最小的元素。以下是一个简单的C程序,展示了如何完成这个任务:
```c
#include <stdio.h>
int main() {
int arr[10]; // 假设我们有一个包含10个整数的数组
float sum = 0; // 初始化数组元素之和
float avg, min_diff = INFINITY; // 初始化平均值和最小差值为无穷大
int min_index = -1; // 初始化最小差值索引
printf("请输入10个整数:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
sum += arr[i];
}
avg = (float)sum / 10; // 计算平均值
// 遍历数组,比较每个元素与平均值的差并更新结果
for (int i = 0; i < 10; i++) {
float diff = abs(arr[i] - avg); // 计算差值的绝对值
if (diff < min_diff) { // 如果当前差值更小
min_diff = diff;
min_index = i; // 更新最小差值的索引
}
}
printf("平均值是 %.2f\n", avg);
printf("与平均值之差的绝对值最小的元素是 %d,它的值是 %d,差值是 %d\n",
arr[min_index], arr[min_index], min_diff);
return 0;
}
```
在这个程序中,`abs()` 函数用于计算差值的绝对值,`INFINITY` 是表示无限大的常量,这里用来初始化 `min_diff`。
阅读全文