【题目描述】
给定10个整数的序列,要求对其重新排序。排序要求:
1.奇数在前,偶数在后;
2.奇数按从大到小排序;
3.偶数按从小到大排序。
【输入】
输入一行,包含10个整数,彼此以一个空格分开,每个整数的范围是大于等于0,小于等于30000。
【输出】
按照要求排序后输出一行,包含排序后的10个整数,数与数之间以一个空格分开。
【输入样例】
4 7 3 13 11 12 0 47 34 98
【输出样例】
47 13 11 7 3 0 4 12 34 98
#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
int n, qi[1000], ou[1000],j=0,o=0;
void _sort(int len)
{
for (int i = 0; i < len; i++)
{
for (int j = i + 1; j < len; j++)
{
if (qi[i] < qi[j])
{
swap(qi[i], qi[j]);
}
}
}
}
int main()
{
int a[11];
for (int i = 0; i < 10; i++)
{
cin >> a[i];
if (a[i] % 2 == 0)
{
ou[o] = a[i];
o++;
}
else
{
qi[j] = a[i];
j++;
}
}
_sort(j);
sort(ou, ou + o);
for (int i = 0; i < j; i++)
{
cout << qi[i] << " ";
}
for (int i = 0; i < o; i++)
{
cout << ou[i] << " ";
}
return 0;
}
我现在正在参加博客新星评选,请大家投我一票 地址:2021年「博客之星」参赛博主:QinZhen20100224-CSDN社区