输入一个整数数组,实现一个函数,
来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,
所有偶数位于数组的后半部分。
/*
调整数组使奇数全部都位于偶数前面。
题目:
输入一个整数数组,实现一个函数,
来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,
所有偶数位于数组的后半部分。
*/
#include <stdio.h>
#include <stdlib.h>
int arr[] = { 1,14,3,0,1,2,4,5,8,6,11,10 };
int newarr[100];
void arr_sort(int arr[],int length)
{
int j = 0,k=0,count=0;
for (int i = 0; i < length; i++)
{
if (arr[i] % 2 == 1)
{
count++;
}
}
for (int i = 0; i < length; i++)
{
if (arr[i] % 2 == 1)
{
newarr[j] = arr[i];
j++;
}
else
{
newarr[count] = arr[i];
count++;
}
}
}
int main()
{
printf("原数组是: ");
for (int i = 0; i < sizeof(arr)/sizeof(arr[0]); i++)
{
printf("%d ",arr[i]);
}
printf("\n");
arr_sort(arr, sizeof(arr) / sizeof(arr[0]));
printf("排序后的数组是: ");
for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); i++)
{
printf("%d ", newarr[i]);
}
printf("\n");
system("pause");
return 0;
}