您的位置:首页 > 其它

华为机试——数字奇偶排序

2016-01-11 16:53 260 查看

将输入的一串10个整数进行从小到大排序,但是要求偶数放在偶数位置上,奇数放在奇数位置上。缺失的位置由0补齐,输入中不会有0.

样例输入:53 8 21 43 3 7 51 62 13 68

样例输出:3 8 7 62 13 68 21 0 43 51 0 53

#include<iostream>
#include<stdio.h>
#include<algorithm>
using namespace std;
const int N=10;
int main()
{
int even
={0},odd
={0};
int num,i=0,j=0,n,big;
for(int n=0;n<N;n++)
{
cin>>num;
if(num%2)
odd[i++]=num;
else
even[j++]=num;
}
sort(even,even+j);
sort(odd,odd+i);
big=i>j ? i : j;

for(n=0;n<big-1;n++)
cout<<odd
<<" "<<even
<<" ";
cout<<odd
;
if(even
)
cout<<" "<<even
;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: