一个数组中存在n个整数,统计出偶数个数并作为函数值返回
时间: 2024-02-13 09:59:58 浏览: 87
下面是一个简单的 C 语言函数,可以用来统计一个数组中偶数的个数并返回:
```c
#include <stdio.h>
int count_even(int arr[], int n) {
int count = 0;
for (int i = 0; i < n; i++) {
if (arr[i] % 2 == 0) {
count++;
}
}
return count;
}
int main() {
int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int n = sizeof(arr) / sizeof(arr[0]);
int count = count_even(arr, n);
printf("偶数的个数为:%d\n", count);
return 0;
}
```
这个函数定义了一个 `count_even` 函数,接收一个整数数组和数组的长度作为参数,然后使用循环遍历数组,统计偶数的个数。最后返回偶数的个数。在主函数中,定义了一个数组,然后调用 `count_even` 函数统计偶数的个数并输出结果。
相关问题
2、编写一个程序,将给定的整数n中各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新数,作为函数值返回。例如,输入一个整数27638496,函数返回值为64862。写C语
编写一个C语言程序来满足这个需求,我们首先需要遍历输入数字的每一位,检查是否为偶数,然后将这些偶数按倒序存储在一个临时数组中,最后再将它们转换回整数形式并返回。以下是C语言实现的一个简单版本:
```c
#include <stdio.h>
// 函数声明
int reverseEven(int n);
int main() {
int num;
printf("请输入一个整数: ");
scanf("%d", &num);
int result = reverseEven(num);
printf("函数返回值为: %d\n", result);
return 0;
}
// 定义函数reverseEven,实现提取偶数并反转
int reverseEven(int n) {
int evenDigit = 0; // 存储偶数位
int temp[10] = {0}; // 用于存储偶数的临时数组
int remainder;
while (n != 0) {
remainder = n % 10; // 取余得到当前位
if (remainder % 2 == 0) { // 检查是否为偶数
temp[evenDigit++] = remainder; // 如果是偶数,存入数组
}
n /= 10; // 移除最低位
}
// 将临时数组反转并组合成新的整数
int reversedNum = 0;
for (int i = evenDigit - 1; i >= 0; i--) {
reversedNum *= 10;
reversedNum += temp[i];
}
return reversedNum;
}
```
在这个程序中,`reverseEven`函数会处理所有奇数位置的数字,然后对偶数位进行反转。在主函数`main`中,用户输入一个整数,然后调用`reverseEven`函数获取结果。
编写函数,求出能整除x且是偶数的各整数,并按从小到大的顺序依次存放在y数组中,这些数的个数通过函数值返回主调函数c语言
下面是一个示例代码,实现了上述要求的函数:
```c
int findEvenDivisors(int x, int y[]) {
int count = 0;
for (int i = 1; i <= x; i++) {
if (x % i == 0 && i % 2 == 0) {
y[count++] = i;
}
}
return count;
}
```
该函数的参数是一个整数x和一个整型数组y,函数返回值是存放在y数组中的数的个数。函数实现了遍历1到x之间的整数,如果当前整数能整除x并且是偶数,则将其存放在y数组中。函数返回y数组中存放的数的个数。
调用该函数的示例代码如下:
```c
#include <stdio.h>
int findEvenDivisors(int x, int y[]);
int main() {
int x = 24;
int y[100];
int count = findEvenDivisors(x, y);
printf("Even divisors of %d: ", x);
for (int i = 0; i < count; i++) {
printf("%d ", y[i]);
}
printf("\n");
return 0;
}
```
输出结果为:
```
Even divisors of 24: 2 4 8 12 24
```
注意,该函数只能找出能整除x且是偶数的整数,如果需要找出能整除x且是奇数的整数,只需要将判断条件修改为i % 2 == 1即可。
阅读全文