用c语言编写函数把数组中所有奇数放在另一个数组中。
时间: 2023-11-30 09:02:48 浏览: 179
以下是用C语言编写的将数组中所有奇数放在另一个数组中的程序:
```c
#include <stdio.h>
void separate(int a[], int n, int odd[], int *m) {
int i;
*m = 0;
for (i = 0; i < n; i++) {
if (a[i] % 2 == 1) {
odd[*m] = a[i];
(*m)++;
}
}
}
int main() {
int a[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int odd[10], m, i;
separate(a, 10, odd, &m);
printf("Original array: ");
for (i = 0; i < 10; i++) {
printf("%d ", a[i]);
}
printf("\nOdd array: ");
for (i = 0; i < m; i++) {
printf("%d ", odd[i]);
}
return 0;
}
```
在这个程序中,`separate()` 函数接收一个整数数组 `a`、数组长度 `n`、一个空的奇数数组 `odd` 和一个指向整数变量的指针 `m`。该函数遍历数组 `a` 中的每个元素,如果该元素是奇数,则将其添加到 `odd` 数组中,并将 `m` 增加 1。最后,`m` 的值即为 `odd` 数组中的奇数个数。
在主函数中,我们声明了一个数组 `a` 和一个空的奇数数组 `odd`,并将它们作为参数传递给 `separate()` 函数。然后,我们打印原始数组 `a` 和新的奇数数组 `odd`。
输出结果:
```
Original array: 1 2 3 4 5 6 7 8 9 10
Odd array: 1 3 5 7 9
```
阅读全文