C语言定义一个函数,实现对输入的数组中的偶数个数及之和。统计结果在主函数中输出
时间: 2024-02-25 07:56:33 浏览: 38
好的,下面是代码实现:
```c
#include <stdio.h>
void count_even(int arr[], int n, int *count, int *sum) {
*count = 0;
*sum = 0;
for (int i = 0; i < n; i++) {
if (arr[i] % 2 == 0) {
(*count)++;
(*sum) += arr[i];
}
}
}
int main() {
int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int n = sizeof(arr) / sizeof(int);
int count, sum;
count_even(arr, n, &count, &sum);
printf("偶数个数: %d\n", count);
printf("偶数之和: %d\n", sum);
return 0;
}
```
在 `count_even` 函数中,我们使用了指针来获取统计结果。`count` 用来记录偶数个数,`sum` 用来记录偶数之和。在主函数中,我们首先定义了一个整型数组 `arr`,然后计算数组的长度 `n`。接着调用 `count_even` 函数统计偶数个数和偶数之和,并将结果通过指针传递给 `count` 和 `sum`。最后在主函数中输出统计结果。
相关问题
5、定义一个函数,实现对输入的数组中的偶数进行求和,同时计算偶数的 个数,统计结果在主函数中输出。用c语言编写
以下是实现代码:
```c
#include <stdio.h>
void sum_and_count(int arr[], int len, int *sum, int *count) {
int i;
for (i = 0; i < len; i++) {
if (arr[i] % 2 == 0) { // 判断是否为偶数
*sum += arr[i];
(*count)++;
}
}
}
int main() {
int arr[] = {1, 2, 3, 4, 5, 6, 7, 8};
int len = sizeof(arr) / sizeof(arr[0]);
int sum = 0;
int count = 0;
sum_and_count(arr, len, &sum, &count);
printf("数组中偶数的个数为%d,它们的和为%d\n", count, sum);
return 0;
}
```
运行结果示例:
```
数组中偶数的个数为4,它们的和为20
```
c语言:定义一个整型一维数组,任意输入数组的元素,其中包含奇数和偶数。定义一个函数,实现将数组元素奇数在左,偶数在右的排列。 在上述定义的函数中,不允许再增加新的数组。从主函数中分别调用上述函数,打印输出结果。
好的,以下是代码实现:
```c
#include <stdio.h>
void exchange(int arr[], int len) {
int left = 0, right = len - 1; // 定义左右两个指针
while (left < right) {
// 从左边开始找到第一个偶数
while (left < right && arr[left] % 2 != 0) {
left++;
}
// 从右边开始找到第一个奇数
while (left < right && arr[right] % 2 == 0) {
right--;
}
// 交换左右两个数
int temp = arr[left];
arr[left] = arr[right];
arr[right] = temp;
}
}
int main() {
int arr[10]; // 定义一个长度为10的数组
printf("请输入数组的元素:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
exchange(arr, 10); // 调用exchange函数
printf("交换后的数组为:\n");
for (int i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
在`exchange`函数中,采用双指针的方式,分别从数组的左右两端开始找奇数和偶数,然后进行交换。具体来说,左指针`left`从左边开始找到第一个偶数,右指针`right`从右边开始找到第一个奇数,然后交换这两个数的位置。重复进行这个过程,直到左右两个指针相遇。最终,整个数组就被排列成了奇数在左,偶数在右的顺序。
在主函数中,先定义一个长度为10的数组,然后通过循环输入数组元素。接着调用`exchange`函数进行奇偶数的排列,并打印输出结果。