从键盘输入大于0的整数,分别求其中偶数奇数的平均值用-1作为输入终止标记c语言
时间: 2024-12-26 13:29:16 浏览: 3
在C语言中,你可以通过循环结构读取用户输入的整数,并检查它们是否为偶数或奇数。当遇到-1作为输入时,会停止计算并返回平均值。下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <stdlib.h>
double average_of_evens(int num[], int count) {
double total = 0;
for (int i = 0; i < count; i++) {
if (num[i] % 2 == 0) { // 检查是否为偶数
total += num[i];
}
}
return total / count;
}
double average_of_odds(int num[], int count) {
double total = 0;
for (int i = 0; i < count; i++) {
if (num[i] % 2 != 0) { // 检查是否为奇数
total += num[i];
}
}
return total / count;
}
int main() {
int input = 0, numbers[100], count = 0;
while ((input = getchar()) != EOF && input != -1) {
input = getchar(); // 跳过换行符
if (input == -1 || input == EOF) break;
numbers[count++] = input - '0'; // 转换成数字并存储
}
// 分别计算偶数和奇数的平均值
double avg_even = average_of_evens(numbers, count);
double avg_odd = average_of_odds(numbers, count);
printf("Even number average: %.2f\n", avg_even);
printf("Odd number average: %.2f\n", avg_odd);
return 0;
}
```
在这个程序中,`average_of_evens` 和 `average_of_odds` 函数分别计算偶数和奇数的平均值。`main` 函数中使用 `while` 循环读取用户输入直到遇到 -1 或文件结束,然后计算并输出结果。
阅读全文