序文:
21.再テストに参加できるかどうかに関係なく、道路に書かれたゴミコードを記録します。もともと「AlgorithmNotes」をかじったのですが、やりすぎたので、Kingway ComputerTestGuideに変更しました。
タイトル説明:
スペースで区切って10個の整数を入力します。並べ替え後の出力(スペースで区切る)、要件:1。最初に奇数を出力し、最大から最小に並べ替えます。2。次に、偶数を出力し、最小から最大に並べ替えます。
説明を入力してください
スペースで区切られた、任意の順序の10個の整数(0〜100)。
出力の説明:
複数のテストデータセットが存在する場合があります。データセットごとに、出力はスペースで区切られた要件に従って並べ替えられます。
- テストデータのグループは多数ある可能性があります。while(cin >> a [0] >> a [1] >> ... >> a [9])同様のアプローチを使用して達成してください。
- 入力データはランダムであり、等しい場合があります。
回答
#include<iostream>
#include<algorithm>
#include<vector>
#include<string>
#include<stdio.h>
using namespace std;
bool cmp(int a,int b) {
if (a % 2 == 1 && b % 2 == 0)
return 1;
else if (a % 2 == 0 && b % 2 == 1)
return 0;
else if (a % 2 == 0 && b % 2 == 0)
return a < b;
else
return a > b;
}
int main()
{
int a[10];
while (scanf("%d%d%d%d%d%d%d%d%d%d", &a[0], &a[1], &a[2], &a[3], &a[4], &a[5], &a[6], &a[7], &a[8], &a[9]) != EOF) {
sort(a, a + 10, cmp);
printf("%d %d %d %d %d %d %d %d %d %d\n", a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]);
}
return 0;
}