#include<stdio.h>
#include<stdlib.h>
void swap(int *arr, int sz)
{
int i = 0;
int j = sz - 1;
for (i = 0; i != j; i++){
if (arr[i] % 2 != 0)
continue;
else
{
int tmp;
tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
if (arr[j] % 2 == 0)
j--;
i--;
}
}
}
int main()
{
int arr[] = {1,2,3,4,5,6,7,8};
int sz = sizeof(arr) / sizeof(arr[0]);
int i;
swap(arr, sz);
for (i = 0; i <= sz; i++){
printf("%d ", arr[i]);
}
system("pause");
return 0;
#include<stdlib.h>
void swap(int *arr, int sz)
{
int i = 0;
int j = sz - 1;
for (i = 0; i != j; i++){
if (arr[i] % 2 != 0)
continue;
else
{
int tmp;
tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
if (arr[j] % 2 == 0)
j--;
i--;
}
}
}
int main()
{
int arr[] = {1,2,3,4,5,6,7,8};
int sz = sizeof(arr) / sizeof(arr[0]);
int i;
swap(arr, sz);
for (i = 0; i <= sz; i++){
printf("%d ", arr[i]);
}
system("pause");
return 0;
}
运行结果如下: