目的:输入一个数组,使得数组中奇数在前,偶数在后。
代码:
#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> int main() { int arr[10] = {0}; for (int i = 0; i <= 9; i++) { scanf("%d", &arr[i]); //输入数组中的各个元素 } int left = 0; int right = 9; while (left < right) //循环实现 { while ((left < right) && arr[left] % 2 == 1) { left++; //找到一个偶数后停下 } while ((left < right) && arr[right] % 2 == 0) { right--; //找到一个奇数后停下 } if (left < right) { int tmp = arr[left]; //然后交换这两个数的位置,实现奇数在前,偶数在后。 arr[left] = arr[right]; arr[right]=tmp; } } for (int i = 0; i <= 9; i++) { printf("%d ", arr[i]); 打印出排序后的数组内容。 } return 0; }
例如:第一行是输入的内容,第二行是排完序后的内容。