二、编写程序把长度为10的数组中所有奇数和偶数分别存放在另外两个数组中并输出
时间: 2023-03-27 07:03:00 浏览: 253
好的,我可以回答这个问题。以下是程序的代码:
#include <stdio.h>
int main() {
int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int odd[10], even[10];
int odd_count = , even_count = ;
for (int i = ; i < 10; i++) {
if (arr[i] % 2 == ) {
even[even_count] = arr[i];
even_count++;
} else {
odd[odd_count] = arr[i];
odd_count++;
}
}
printf("奇数数组:");
for (int i = ; i < odd_count; i++) {
printf("%d ", odd[i]);
}
printf("\n");
printf("偶数数组:");
for (int i = ; i < even_count; i++) {
printf("%d ", even[i]);
}
printf("\n");
return ;
}
相关问题
定义一个长度为N的一维整数数组,在不新增数组情况下,编写程序将其中的值逆序重新存放。即第一个元素和最后一个元素交换位置,第二个元素和倒数第二个元素交换位置,……,注意N为奇数和偶数时,程序设计的不同。
以下是一个将长度为N的一维整数数组中的值逆序重新存放的程序:
```python
def reverse_array(arr):
n = len(arr)
for i in range(n//2):
arr[i], arr[n-1-i] = arr[n-1-i], arr[i]
return arr
```
对于奇数长度的数组,将会正好交换一次中间的元素;对于偶数长度的数组,则不会交换中间两个元素。可以使用下面的代码测试这个函数:
```python
arr1 = [1, 2, 3, 4, 5]
arr2 = [1, 2, 3, 4, 5, 6]
print(reverse_array(arr1)) # 输出 [5, 4, 3, 2, 1]
print(reverse_array(arr2)) # 输出 [6, 5, 4, 3, 2, 1]
```
在这个程序中,我们使用了Python中的切片操作,通过`n//2`来计算需要交换的次数。在每次循环中,我们交换第`i`个元素和第`n-1-i`个元素,最后返回逆序后的数组。
将整数数组A[0..n],将其分为两部分,左边所有元素为奇数,右边所有元素为偶数。数组元素个数不超过1000。 【输入形式】 以逗号隔开的所有元素 【输出形式】 依次打印调整后的数组元素,元素间以逗号隔开。奇数序列和偶数序列分别按原序列中的顺序依次输出,C语言
你可以使用C语言编写如下的函数来解决这个问题。首先,创建一个函数,它接受一个整数数组作为输入,并返回两个新的数组,一个包含奇数,另一个包含偶数。这里是一个简单的示例:
```c
#include <stdio.h>
#include <stdbool.h>
// 功能:将整数数组分为奇数和偶数两个数组
void separate_odd_even(int A[], int n, int* odd, int* even) {
int i = 0;
for (i = 0; i < n; ++i) {
if (A[i] % 2 == 0) {
*even++ = A[i]; // 偶数存放到even数组
} else {
*odd++ = A[i]; // 奇数存放到odd数组
}
}
}
// 输出结果
void print_arrays(int* arr1, int* arr2, int size1, int size2) {
for (int i = 0; i < size1; ++i) {
printf("%d", arr1[i]);
if (i != size1 - 1) {
printf(", ");
}
}
printf("\n");
for (int i = 0; i < size2; ++i) {
printf("%d", arr2[i]);
if (i != size2 - 1) {
printf(", ");
}
}
}
int main() {
int A[] = {1, 2, 3, 4, 5, 6, 7, 8}; // 输入数组
int n = sizeof(A) / sizeof(A[0]);
int odd[n], even[n]; // 存储奇数和偶数的临时数组
separate_odd_even(A, n, odd, even);
// 输出结果
print_arrays(odd, even, n/2, n/2); // 如果数组长度是偶数,则两边元素一样多;如果是奇数,则有一个多余的奇数
return 0;
}
```
当你运行这个程序时,它会把给定的整数数组`A`分割成奇数和偶数两部分并打印出来。
阅读全文