1. 程式人生 > >C語言編程 調整數組使奇數全部都位於偶數前面

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

c語言 [] change exc 所有 代碼 c語言編程 語言 std

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

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

源代碼:

#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;
}

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