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

猜你喜欢

转载自blog.51cto.com/14232799/2385784