定义一个函数,实现输入的数组元素奇数在左、偶数在右,键盘输入数据使用C语言编写并在Linux上执行
时间: 2024-05-14 19:19:58 浏览: 96
下面是一个C语言程序,可以实现输入的数组元素奇数在左、偶数在右的功能:
```c
#include <stdio.h>
void swap(int* x, int* y) {
int temp = *x;
*x = *y;
*y = temp;
}
void oddEvenSort(int arr[], int n) {
int left = 0, right = n - 1;
while (left < right) {
while (arr[left] % 2 == 1 && left < right) {
left++;
}
while (arr[right] % 2 == 0 && left < right) {
right--;
}
if (left < right) {
swap(&arr[left], &arr[right]);
}
}
}
int main() {
int n, i;
printf("请输入数组元素个数:");
scanf("%d", &n);
int arr[n];
printf("请输入数组元素:");
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
oddEvenSort(arr, n);
printf("排序后的数组为:");
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
在Linux上执行这个程序,可以按照以下步骤:
1. 打开终端;
2. 进入程序所在的目录;
3. 输入命令 `gcc -o odd_even_sort odd_even_sort.c` 编译程序;
4. 输入命令 `./odd_even_sort` 运行程序;
5. 按照程序提示依次输入数组元素个数和数组元素。