写一段C语言代码 找出小于数组平均数的最小数
时间: 2024-10-22 11:26:13 浏览: 15
在C语言中,我们可以先计算数组的平均值,然后遍历数组找到小于这个平均值的最小数。以下是简单的代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
double find_smallest_below_average(int* arr, int size) {
if (size == 0) return -1; // 如果数组为空,返回-1
double sum = 0;
for (int i = 0; i < size; i++) {
sum += arr[i];
}
double average = sum / size;
double smallest = arr[0]; // 初始化最小值为第一个元素
for (int i = 1; i < size; i++) {
if (arr[i] < average && arr[i] < smallest) {
smallest = arr[i];
}
}
return smallest;
}
int main() {
int array[] = {5, 3, 8, 2, 9};
int n = sizeof(array) / sizeof(array[0]);
double result = find_smallest_below_average(array, n);
if (result != -1)
printf("The smallest number below the average is: %lf\n", result);
else
printf("No such number found.\n");
return 0;
}
```
在这个代码里,我们首先计算数组`arr`的总和,然后除以数组长度得到平均值。接着遍历数组,如果某个元素小于平均值且比当前已找到的最小值还小,则更新最小值。最后,在主函数中调用该函数并打印结果。
阅读全文