把数组中所有奇数放在另一个数组输出,c++
时间: 2024-05-12 15:16:58 浏览: 14
好的,您可以使用以下的 C 代码实现将原数组中所有奇数分离出来,并存储到一个新的数组中:
```c
#include <stdio.h>
int main() {
int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int odd_arr[10], odd_count = 0;
for (int i = 0; i < 10; ++i) {
if (arr[i] % 2 == 1) {
odd_arr[odd_count++] = arr[i];
}
}
printf("Odd numbers in the array: ");
for (int i = 0; i < odd_count; ++i) {
printf("%d ", odd_arr[i]);
}
printf("\n");
return 0;
}
```
在这个程序中,我们定义了一个原始数组 `arr`,和一个用于存储奇数的新数组 `odd_arr`,和一个计数器 `odd_count`。我们使用 for 循环遍历原始数组,并检查每个元素是否是奇数。如果元素是奇数,我们将其添加到新数组中,并增加奇数的计数器。最后,我们遍历新数组,打印出所有奇数的值。
希望这个代码对您有所帮助!如果您有其他问题,请随时问我。
相关问题
.编写函数把数组中所有的奇数放在一个数组 中,并在主函数中输出。
好的,以下是一个实现该功能的 C++ 函数的代码:
```cpp
#include <iostream>
#include <vector>
// 将数组中所有的奇数放在一个数组中
std::vector<int> odd_numbers(int arr[], int size)
{
std::vector<int> odds;
for (int i = 0; i < size; i++) {
if (arr[i] % 2 != 0) {
odds.push_back(arr[i]);
}
}
return odds;
}
int main()
{
int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int size = sizeof(arr) / sizeof(int);
std::vector<int> odds = odd_numbers(arr, size);
std::cout << "Odd numbers: ";
for (int i = 0; i < odds.size(); i++) {
std::cout << odds[i] << " ";
}
std::cout << std::endl;
return 0;
}
```
这个函数接收一个整型数组和它的大小作为参数,然后遍历数组,将所有的奇数放入一个 `std::vector<int>` 中,并返回该向量。在主函数中,我们调用该函数并输出结果。
C++中数组中找到奇数到偶数变化的位置
可以使用以下 C 代码实现:
```c
#include <stdio.h>
int main() {
int arr[] = {2, 4, 6, 7, 8, 9, 10};
int len = sizeof(arr) / sizeof(arr[0]);
int pos = -1;
for (int i = 0; i < len - 1; i++) {
if (arr[i] % 2 == 0 && arr[i+1] % 2 == 1) {
pos = i+1;
break;
}
}
if (pos == -1) {
printf("No change from even to odd found.\n");
} else {
printf("Change from even to odd found at position %d.\n", pos);
}
return 0;
}
```
这段代码首先定义了一个整数数组 `arr`,然后计算出数组长度,并使用一个 `for` 循环遍历数组元素。在循环中,通过判断相邻两个元素的奇偶性来找到第一个从偶数到奇数的变化位置。如果找到了变化位置,则输出其位置,否则输出未找到提示。