调整数组使奇数全部都位于偶数前面。
#include<stdio.h>
#include<string.h>
int main() {
#define SIZE(arr) sizeof(arr)/sizeof(arr[0])
int arr[] = { 1,2,4,6,8,9,11,27,55,12 };
int i = 0, x = 0, y = 0;
int arr1[128] = { 0 }, arr2[128] = { 0 };
for (i = 0; i < SIZE(arr); ++i) {
if (arr[i] % 2) {
arr1[x++] = arr[i];
}
else {
arr2[y++] = arr[i];
}
}
for (i = 0; i < x; ++i) {
arr[i] = arr1[i];
}
for (; i < SIZE(arr); ++i) {
arr[i] = arr2[i-x];
}
printf("%d %d %d %d %d %d %d %d %d %d", arr[0], arr[1], arr[2], arr[3], arr[4], arr[5], arr[6], arr[7], arr[8], arr[9]);
return 0;
}
这个代码基本思路就是先判断奇数存一个数组中,然后再把偶数存一个数组中再拼接起来
奇前偶后
最新推荐文章于 2024-01-05 16:01:24 发布