題目:
輸入一個整數數組,實現一個函數,
來調整該數組中數字的順序使得數組中所有的奇數位於數組的前半部分,
所有偶數位於數組的後半部分。
主要思想:
遍歷這個數列,若遍歷到的數字爲奇數,則再次遍歷數列找到第一個偶數與其交換位置。
源代碼:
#include<stdio.h>
#include<stdlib.h>
void Exchange(int array[],int length)
{
int i,m,temp;
for (i = 0; i < length; i++)
{
if (array[i] % 2 != 0)
{
for (m = 0; m < length; m++)
{
if (array[m] % 2 == 0)
{
temp = array[i];
array[i] = array[m];
array[m] = temp;
break;
}
}
}
}
}
int main()
{
int i;
int array[] = { 1,2,3,4,5,6,7,8,9 };
int length = sizeof(array) / sizeof(array[0]);
Exchange(array, length);
for (i = 0; i < length; i++)
{
printf("%5d", array[i]);
}
system("pause");
return 0;
}