把奇偶交换排序用c语言代码写出
时间: 2024-11-28 09:09:04 浏览: 23
在C语言中,我们可以创建一个函数来交换数组中所有奇数和偶数位置的元素。这里是一个简单的示例,假设我们有一个整数数组:
```c
#include <stdio.h>
void swap_odd_even(int arr[], int n) {
for (int i = 0; i < n; i++) {
if (i % 2 == 0) { // 如果索引是偶数(即当前元素是奇数)
int temp = arr[i]; // 保存奇数位置的元素
arr[i] = arr[i + 1]; // 将奇数位置的元素移动到下一个偶数位置
arr[i + 1] = temp; // 将下一个偶数位置的元素移到原奇数位置
}
}
}
int main() {
int arr[] = {1, 2, 3, 4, 5, 6};
int n = sizeof(arr) / sizeof(arr[0]);
printf("Original array: ");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
swap_odd_even(arr, n);
printf("\nAfter swapping: ");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
上述代码首先定义了一个名为 `swap_odd_even` 的函数,它接受一个整数数组和数组长度作为参数。然后遍历数组,当遇到偶数索引时(对应奇数位置),将该位置的元素与下一个偶数位置的元素互换。`main` 函数则展示了整个过程。
运行此程序后,原始数组的奇数位置会被移动到它们原本的偶数位置,而偶数位置保持不变。
阅读全文