c语言输入 10 个数,输出它们的平均值,并求出与平均值之差的绝对值为最小的 数组元素。
时间: 2024-03-06 14:48:33 浏览: 124
好的,这个问题可以用以下的C语言代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main() {
int arr[10];
int sum = 0;
float average;
for(int i = 0; i < 10; i++) { // 输入10个数
printf("请输入第%d个数:", i+1);
scanf("%d", &arr[i]);
sum += arr[i];
}
average = sum / 10.0; // 计算平均值
printf("这10个数的平均值是:%.2f\n", average);
int min_diff_idx = 0;
int min_diff = abs(arr[0] - average); // 初始化差值最小为第一个数与平均值之差
for(int i = 1; i < 10; i++) { // 找到差值最小的元素
int diff = abs(arr[i] - average);
if(diff < min_diff) {
min_diff_idx = i;
min_diff = diff;
}
}
printf("与平均值之差的绝对值最小的数是:%d\n", arr[min_diff_idx]);
return 0;
}
```
这个程序会先让用户输入10个整数,然后计算它们的平均值。接着,程序会遍历数组,找到与平均值差值最小的元素,并输出它。注意,这里用到了C语言的abs()函数来计算绝对值。
阅读全文