有一个数组{12,23,3,4,5},请分别输出其奇数和偶数 C语言
时间: 2024-10-18 20:14:54 浏览: 16
在C语言中,你可以创建两个新的数组来分别存放原始数组中的奇数和偶数。以下是实现这一功能的一个简单示例:
```c
#include <stdio.h>
#define ARRAY_SIZE 5
int numbers[ARRAY_SIZE] = {12, 23, 3, 4, 5}; // 原始数组
int odd_numbers[ARRAY_SIZE]; // 存放奇数的数组
int even_numbers[ARRAY_SIZE]; // 存放偶数的数组
int count_odd = 0; // 奇数计数
int count_even = 0; // 偶数计数
void separate_numbers(int source[], int target[], int* count, int isOdd) {
for (int i = 0; i < ARRAY_SIZE; i++) {
if ((isOdd && source[i] % 2 != 0) || (!isOdd && source[i] % 2 == 0)) {
target[count++] = source[i];
}
}
}
int main() {
separate_numbers(numbers, odd_numbers, &count_odd, 1); // 分离奇数
separate_numbers(numbers, even_numbers, &count_even, 0); // 分离偶数
printf("奇数数组: ");
for (int i = 0; i < count_odd; i++) {
printf("%d ", odd_numbers[i]);
}
printf("\n");
printf("偶数数组: ");
for (int i = 0; i < count_even; i++) {
printf("%d ", even_numbers[i]);
}
printf("\n");
return 0;
}
```
这个程序定义了一个名为`separate_numbers`的函数,用于根据给定的条件(是否为奇数)将源数组中的元素分配到目标数组中。主函数中,我们两次调用此函数一次用于奇数,一次用于偶数,然后分别打印这两个新数组。
阅读全文