天天看點

Bailian3164 奇偶排序【排序】

奇偶排序

描述

輸入十個整數,将十個整數按升序排列輸出,并且奇數在前,偶數在後。

輸入

輸入十個整數

輸出

按照奇偶排序好的十個整數

樣例輸入

10 9 8 7 6 5 4 3 2 1      

樣例輸出

1 3 5 7 9 2 4 6 8 10      

提示

先排序,再分别輸出奇數、偶數

問題連結:Bailian3164 奇偶排序

問題簡述:(略)

問題分析:

  這是一個排序問題,按照提示做就可以了。

程式說明:

  C++語言的排序程式寫起來要簡便一些。

題記:(略)

參考連結:(略)

AC的C語言程式如下:

/* Bailian3164 奇偶排序 */

#include <stdio.h>
#include <stdlib.h>

#define N 10
int a[N];

int cmp(const void *a, const void *b)
{
    return *(int*)a - *(int*)b;
}

int main(void)
{
    int i;

    /* 輸入資料 */
    for(i=0; i<N; i++)
        scanf("%d", &a[i]);

    /* 排序 */
    qsort(a, N, sizeof(int), cmp);

    /* 輸出結果:先輸出奇數,再輸出偶數 */
    for(i=0; i<N; i++)
        if(a[i] % 2 == 1)
            printf("%d ", a[i]);
    for(i=0; i<N; i++)
        if(a[i] % 2 == 0)
            printf("%d ", a[i]);
    printf("\n");

    return 0;
}
           
AC的C++語言程式如下:
/* Bailian3164 奇偶排序 */

#include <iostream>
#include <algorithm>

using namespace std;

const int N = 10;
int a[N];

int main()
{
    // 輸入資料
    for(int i=0; i<N; i++)
        cin >> a[i];

    // 排序
    sort(a, a + N);

    // 輸出結果:先輸出奇數,再輸出偶數
    for(int i=0; i<N; i++)
        if(a[i] % 2 == 1)
            cout << a[i] << " ";
    for(int i=0; i<N; i++)
        if(a[i] % 2 == 0)
            cout << a[i] << " ";
    cout << endl;

    return 0;
}
           

繼續閱讀