C语言用指针计算数组平均值并输出距离平均数最近的数
时间: 2024-12-18 09:20:40 浏览: 11
c语言利用指针求数组的最大值与最小值
在C语言中,我们可以使用指针来遍历数组,并通过指针计算数组元素的总和,进而得到平均值。然后,我们可以在遍历的过程中,检查每个元素与当前平均值的差值,找出最接近平均数的数值。下面是一个简单的示例:
```c
#include <stdio.h>
double find_average(int *arr, int size) {
double sum = 0;
for (int i = 0; i < size; ++i) {
sum += arr[i];
}
return sum / size;
}
int* find_nearest_to_average(int *arr, int size, double avg) {
int nearest_index = 0;
double min_diff = INT_MAX;
for (int i = 0; i < size; ++i) {
double diff = abs(arr[i] - avg);
if (diff < min_diff) {
min_diff = diff;
nearest_index = i;
}
}
return &arr[nearest_index];
}
int main() {
int arr[] = {5, 10, 15, 20, 25};
int size = sizeof(arr) / sizeof(arr[0]);
double avg = find_average(arr, size);
int* nearest_num_ptr = find_nearest_to_average(arr, size, avg);
printf("Average of the array is: %.2f\n", avg);
printf("The number closest to average is: %d\n", *nearest_num_ptr);
return 0;
}
```
在这个程序中,`find_average`函数用于计算数组平均值,`find_nearest_to_average`函数则找到最接近平均值的元素及其索引。`main`函数中创建了一个数组,然后调用这两个函数并打印结果。
阅读全文