用c语言编写函数把数组中所有奇数放在另一个数组中。
时间: 2023-11-30 08:02:53 浏览: 57
请参考以下代码实现:
```c
void separateOdd(int arr[], int size, int oddArr[], int* oddSize) {
*oddSize = 0;
for (int i = 0; i < size; i++) {
if (arr[i] % 2 != 0) { // 如果是奇数
oddArr[*oddSize] = arr[i]; // 把奇数放入另一个数组中
(*oddSize)++; // 奇数数组大小加1
}
}
}
```
这个函数接受四个参数,分别是:
- `arr`:原始数组的指针
- `size`:原始数组的大小
- `oddArr`:存放奇数的数组的指针
- `oddSize`:存放奇数数组大小的指针
函数的实现思路是遍历原始数组中的每个元素,如果这个元素是奇数,就把它放入奇数数组中,并且奇数数组的大小加1。最终,奇数数组中存放的就是原始数组中的所有奇数。
使用这个函数的示例代码如下:
```c
#include <stdio.h>
void separateOdd(int arr[], int size, int oddArr[], int* oddSize);
int main() {
int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int arrSize = sizeof(arr) / sizeof(arr[0]);
int oddArr[arrSize];
int oddSize;
separateOdd(arr, arrSize, oddArr, &oddSize);
printf("Odd numbers: ");
for (int i = 0; i < oddSize; i++) {
printf("%d ", oddArr[i]);
}
printf("\n");
return 0;
}
```
这个程序的输出结果是:
```
Odd numbers: 1 3 5 7 9
```
阅读全文