1181:整数奇偶排序

简介: 1181:整数奇偶排序

1181:整数奇偶排序

时间限制: 1000 ms         内存限制: 65536 KB

【题目描述】

给定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

【来源】

No

1. #include <iostream>
2. using namespace std;
3. void swap(int &a,int &b){
4.  int t=a;a=b;b=t;
5. } 
6. bool cmp(int a,int b){
7.  if(a%2==1 && b%2==0)return false;
8.  if(a%2==0 && b%2==1)return true;
9.  if(a%2==1 && b%2==1)return a<b;    //降序 
10.   if(a%2==0 && b%2==0)return a>b; 
11. }
12. int main(int argc, char *argv[])
13. {
14.   int n, a[10];
15.   n=10;
16.   for(int i=0;i<n;i++)
17.     cin>>a[i];
18.   for(int i=0;i<n-1;i++)
19.     for(int j=i+1;j<n;j++)
20.       if(cmp(a[i],a[j])) swap(a[i],a[j]);
21.   for(int i=0;i<n;i++)
22.     cout<<a[i]<<" ";
23.   cout<<endl;
24.   return 0;
25. }

 

相关文章
|
2天前
|
存储 C语言
一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
12 4
|
4月前
38.一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
38.一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
55 0
|
4月前
|
存储
【力扣】2. 两数相加、445. 两数相加Ⅱ
【力扣】2. 两数相加、445. 两数相加Ⅱ
|
测试技术 C语言 索引
力扣12&13-整数与罗马数字互换
力扣12&13-整数与罗马数字互换
58 0
|
存储 算法 Java
leetcode刷题记录:7.整数反转,8.字符串转整数,9.回文数
leetcode刷题记录:7.整数反转,8.字符串转整数,9.回文数
52 0
|
算法 C++ Python
每日算法系列【LeetCode 829】连续整数求和
每日算法系列【LeetCode 829】连续整数求和
102 0
|
数据处理
整数数组中最大子数组的和(2)—— 处理二维数组
将二维转化为一维处理,当子矩阵的上下行确定时,把上下行中每一列的数据当作一个单元,确定左右列的过程就是求以列为单元的一维数组的子数组最大和的过程,这种方法大大提高了效率
83 0
整数数组中最大子数组的和(2)—— 处理二维数组
|
Python
LeetCode 1304. 和为零的N个唯一整数
给你一个整数 n,请你返回 任意 一个由 n 个 各不相同 的整数组成的数组,并且这 n 个数相加和为 0 。
102 0