把数组中所有奇数放在另一个数组中并输出c语言
时间: 2023-06-09 09:02:31 浏览: 328
代码。
好的,以下是将一个数组中所有奇数放在另一个数组并输出的 C 语言代码:
```c
#include<stdio.h>
int main(){
int arr[] = {1, 4, 3, 7, 8, 9, 10};
int len = sizeof(arr)/sizeof(arr[0]);
int oddArr[len], oddLen = 0;
// 遍历原始数组,将奇数放入 oddArr 数组中
for(int i=0; i<len; i++){
if(arr[i] % 2 != 0){
oddArr[oddLen] = arr[i];
oddLen++;
}
}
// 输出 oddArr 数组中的所有元素
for(int i=0; i<oddLen; i++){
printf("%d ", oddArr[i]);
}
return 0;
}
```
注意,这里的代码只是给出了一个实现方式,实际上还有很多其他方式可以达到同样的效果。
相关问题
用c语言编写函数把数组中所有奇数放在另一个数组中。
以下是用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
```
c语言代码编写函数把数组中所有奇数放在另一个数组中。
以下是一个示例代码,可以将原数组中的奇数放入新数组中:
```c
#include <stdio.h>
void odd_array(int arr[], int arr_size, int odd_arr[], int *odd_size) {
// 遍历原数组,将所有奇数放到新数组中
for (int i = 0; i < arr_size; i++) {
if (arr[i] % 2 != 0) {
odd_arr[*odd_size] = arr[i];
(*odd_size)++;
}
}
}
int main() {
int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int odd_arr[10];
int odd_size = 0;
odd_array(arr, 10, odd_arr, &odd_size);
printf("Odd array: ");
for (int i = 0; i < odd_size; i++) {
printf("%d ", odd_arr[i]);
}
printf("\n");
return 0;
}
```
这里定义了一个 `odd_array()` 函数,它接受四个参数:原数组、原数组大小、新数组和新数组大小的指针。
函数遍历原数组,如果元素是奇数,则将其添加到新数组中,并将新数组大小增加。最后,在 `main()` 函数中,我们调用 `odd_array()` 函数并打印输出新数组。