void swap(int *a, int *b) { int tmp = *a; *a = *b; *b = tmp; } void print(int arr[], int size) { int i = 0; for (; i < size; i++) { printf("%d ", arr[i]); } } int main() { int arr[] = { 1, 2, 5, 4, 3, 6 }; int size = sizeof(arr) / sizeof(arr[0]); int i = 0, j = 0; while (1) { for (i = 0; i < size; i++) { if (arr[i] % 2 == 0) { break; } } j = i + 1; for (; j < size; j++) { if (arr[j] % 2 == 1) { break; } } if (j < size) { swap(&arr[i], &arr[j]); } else { break; } } print(arr, size); system("pause"); return 0; }
【C语言】【面试题】【笔试题】调整数组使奇数全部都位于偶数前面
原文:http://10740329.blog.51cto.com/10730329/1713586