c语言找出数组中偶数的函数
时间: 2024-05-15 11:14:18 浏览: 84
下面是一个简单的 C 语言函数,用于找出数组中的偶数:
```c
void findEven(int arr[], int size) {
printf("Even numbers in the array are: ");
for (int i = 0; i < size; i++) {
if (arr[i] % 2 == 0) {
printf("%d ", arr[i]);
}
}
}
```
该函数接受两个参数:一个整数数组和数组的大小。它遍历整个数组并打印出所有的偶数。可以在主函数中调用此函数:
```c
int main() {
int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
int size = sizeof(arr) / sizeof(arr[0]);
findEven(arr, size);
return 0;
}
```
输出结果为:
```
Even numbers in the array are: 2 4 6 8
```
相关问题
请用c语言完成以下程序:编写函数求一维整型数组(需键盘输入数组元素的值)中最大的奇数及偶数(分别用全局变量max_odd与max_even表示),并在主函数中输出。
好的,以下是程序的代码:
```c
#include <stdio.h>
int max_odd = -1; // 最大奇数
int max_even = -1; // 最大偶数
void find_max(int arr[], int n) {
for(int i = 0; i < n; i++) {
if(arr[i] % 2 == 0 && arr[i] > max_even) { // 如果是偶数且比当前的最大偶数还大
max_even = arr[i];
} else if(arr[i] % 2 == 1 && arr[i] > max_odd) { // 如果是奇数且比当前的最大奇数还大
max_odd = arr[i];
}
}
}
int main() {
int n;
printf("请输入数组长度:");
scanf("%d", &n);
int arr[n];
printf("请输入数组元素:");
for(int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
find_max(arr, n);
if(max_odd == -1) { // 如果没有奇数
printf("最大奇数为:无\n");
} else {
printf("最大奇数为:%d\n", max_odd);
}
if(max_even == -1) { // 如果没有偶数
printf("最大偶数为:无\n");
} else {
printf("最大偶数为:%d\n", max_even);
}
return 0;
}
```
程序的运行流程如下:
1. 首先要求输入数组的长度n。
2. 然后再要求输入数组的元素。
3. 调用函数`find_max`,在函数中遍历数组,找出最大的奇数和偶数。
4. 最后在主函数中根据`max_odd`和`max_even`的值输出结果。
注意事项:
1. 全局变量`max_odd`和`max_even`初始值都设为-1,是因为数组中所有元素都有可能是负数,所以不能设为0。
2. 如果数组中没有奇数或者没有偶数,就输出"无"。
编写函数,求出能整除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即可。
阅读全文