C语言编程数组奇数在前偶数在后,C语言调整数组使奇数全部都位于偶数前面

//输入一个整数数组,实现一个函数,

//来调整该数组中数字的顺序使得数组中所有的奇数 位于数组的前半部分,

//所有偶数 位于数组的后半部分。

#include

#include

void ReverseArr(int arr[], int len)

{

int left = 0;

int right = len - 1;

int temp = 0;

int i = 0;

int j = len - 1;

while (left <= right)

{

//奇数直接判定

if (arr[left] % 2 == 1)

{

left++;

}

//如果不是奇数,则互换,结束循环.再判定互换的那个数.

else

{

temp = arr[left];

arr[left] = arr[right];

arr[left] = temp;

}

//偶数直接判定

if (arr[right] % 2 == 0)

{

right--;

}

else

{

temp = arr[right];

arr[right] = arr[left];

arr[left] = temp;

}

//left不是奇数

}

}

int main()

{

int arr[] = { 0, 1, 2, 3, 4, 5, 6, 7 };

int len = sizeof(arr) / sizeof(arr[0]);

ReverseArr(arr, len);

for (int i = 0; i < len; i++)

{

printf("%d ", arr[i]);

}

printf("\n");

system("pause");

return 0;

}

你可能感兴趣的:(C语言编程数组奇数在前偶数在后)