用c语言编写求奇数的平均数
时间: 2024-11-04 18:14:12 浏览: 6
C语言程序设计-编写程序。从键盘读入8个整数存入数组a中并输出这8个数据。和、最大值、最小值及平均值。正数之和、负数之和
5星 · 资源好评率100%
在C语言中,求一组奇数的平均数需要先读取用户输入的一组数字,然后检查每个数字是否为奇数,如果是,就累加到总和并记录奇数的数量。最后,将总和除以奇数的数量得到平均值。这里是一个简单的示例程序:
```c
#include <stdio.h>
double calculate_average(int* arr, int size) {
int sum = 0;
int count = 0;
for (int i = 0; i < size; i++) {
if(arr[i] % 2 != 0) { // 检查是否为奇数
sum += arr[i]; // 累加奇数
count++; // 奇数计数器++
}
}
if(count == 0) { // 防止除以零的情况
return 0;
} else {
return (double)sum / count; // 返回平均值
}
}
int main() {
int n, *arr;
printf("请输入奇数数组的元素个数:");
scanf("%d", &n);
arr = (int*)malloc(n * sizeof(int)); // 动态分配内存
if (arr == NULL) {
printf("内存分配失败!");
return 1;
}
printf("请输入奇数数组的元素:\n");
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
double avg = calculate_average(arr, n);
if(avg == 0) {
printf("没有输入任何奇数。\n");
} else {
printf("奇数的平均数是: %.2f\n", avg); // 控制精度到小数点后两位
}
free(arr); // 释放动态内存
return 0;
}
```
阅读全文