如何用C语言实现奇偶数的分离(奇偶分家)操作?
时间: 2024-10-28 19:10:19 浏览: 49
在C语言中,你可以通过数组或循环结构来实现奇偶数的分离。这里是一个简单的示例,假设我们有一个整数数组:
```c
#include <stdio.h>
void separateEvenOdd(int arr[], int n, int* evenArr, int* oddArr) {
*evenArr = *oddArr = 0; // 初始化偶数和奇数数组
for (int i = 0; i < n; i++) {
if (arr[i] % 2 == 0) { // 如果元素是偶数
evenArr[*evenArr++] = arr[i]; // 放入偶数数组,并更新索引
} else { // 否则是奇数
oddArr[*oddArr++] = arr[i]; // 放入奇数数组,并更新索引
}
}
}
// 测试函数
int main() {
int numbers[] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
int n = sizeof(numbers) / sizeof(numbers[0]);
int even[10], odd[10];
separateEvenOdd(numbers, n, even, odd);
printf("Even numbers: ");
for (int i = 0; i < n/2; i++) {
printf("%d ", even[i]);
}
printf("\nOdd numbers: ");
for (int i = 0; i < n/2; i++) {
printf("%d ", odd[i]); // 注意:n/2是因为数组长度已经是偶数位数了
}
return 0;
}
```
在这个例子中,`separateEvenOdd`函数接受一个整数数组、数组大小以及两个指向整数数组的指针。它遍历输入数组,将每个元素分别放入相应的偶数或奇数数组中。
阅读全文