C語言編程 調整數組使奇數全部都位於偶數前面

題目:
輸入一個整數數組,實現一個函數,
來調整該數組中數字的順序使得數組中所有的奇數位於數組的前半部分,
所有偶數位於數組的後半部分。

主要思想:
遍歷這個數列,若遍歷到的數字爲奇數,則再次遍歷數列找到第一個偶數與其交換位置。

源代碼:

#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;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章