如何在C语言编程中实现一个函数,让用户输入任意数量的整数,然后计算并返回这些整数中的偶数之和?
时间: 2024-10-27 14:09:56 浏览: 19
在C语言中,你可以通过动态内存分配和循环结构来实现这个功能。以下是一个简单的示例:
```c
#include <stdio.h>
#include <stdlib.h>
// 动态内存分配用于存储用户输入的整数
int* input_integers(int count) {
int* arr = (int*)malloc(count * sizeof(int)); // 分配内存
if (arr == NULL) {
printf("Memory allocation failed.\n");
exit(1);
}
return arr;
}
// 函数接收用户输入并计算偶数之和
int sum_even_numbers(int* numbers, int size) {
int sum = 0;
for (int i = 0; i < size; i++) {
if (numbers[i] % 2 == 0) { // 检查是否为偶数
sum += numbers[i];
}
}
return sum;
}
int main() {
int count;
printf("Enter the number of integers to input: ");
scanf("%d", &count);
int* numbers = input_integers(count); // 获取用户输入
if (scanf("%d", numbers) != count) {
free(numbers);
printf("Invalid input.\n");
return 1;
}
int result = sum_even_numbers(numbers, count);
printf("Sum of even numbers: %d\n", result);
free(numbers); // 释放内存
return 0;
}
```
在这个程序中,首先用户输入要输入的整数的数量,然后程序动态地为这些整数分配空间。接着,用户逐个输入这些整数,`sum_even_numbers`函数会检查每个数字是否是偶数,并累加偶数到总和。最后,将结果打印出来并释放动态分配的内存。
阅读全文