NOI1.10-06整数奇偶排序
6821+
作者:crxis 发布:2017-06-21 分类:排序
题目大意:10个整数按奇数在前偶数在后的顺序输出,如果同时奇数,大的先输出;如果同时偶数,小的先输出。
题目描述
给定10个整数的序列,要求对其重新排序。排序要求:
1.奇数在前,偶数在后;
2.奇数按从大到小排序;
3.偶数按从小到大排序。
输入
输入一行,包含10个整数,彼此以一个空格分开,每个整数的范围是大于等于0,小于等于100。
输出
按照要求排序后输出一行,包含排序后的10个整数,数与数之间以一个空格分开。
样例输入
4 7 3 13 11 12 0 47 34 98
样例输出
47 13 11 7 3 0 4 12 34 98
解题思路
数据量小,用选择排序就行。只是比较的时候,不是单纯按照整数大小来比较了。由于“小于”的定义不同了,我们需要重新定义一下什么是小于,即两个数,什么时候第一个数要放在前面。代码中的cmp函数,就是此功能。对于cmp(a, b),你可以理解成什么时候a<b,也可以理解成什么时候a排在b前面。