码迷,mamicode.com
首页 > 编程语言 > 详细

九度OJ:题目1117:整数奇偶排序

时间:2015-04-22 20:14:25      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:

 1 #include<stdio.h>
 2 #include<algorithm>
 3 using namespace std;
 4 const int N=10;
 5 int main()
 6 {
 7     int arr[10],odd[10],even[10];
 8     while(scanf("%d",&arr[0])!=EOF)
 9         {
10         for(int i=1 ; i<N ; ++i)
11             scanf("%d",&arr[i]);
12         sort(arr,arr+N);
13         int io=0,ie=0;
14         for(int i=0 ; i<N ; ++i)
15             if(arr[i]%2==0)
16                 even[ie++]=arr[i];
17             else
18                 odd[io++]=arr[i];
19         bool mark=0;                    //标记有没有奇数
20         if(io!=0)
21             mark=1;
22         while(io!=0)                    //从后向前打印奇数
23         {
24             printf("%d",odd[--io]);
25             if(io!=0)
26                 printf(" ");
27         }
28         int cnt=0;
29         while(cnt!=ie)                    //从前向后打印偶数
30         {
31             if(0==cnt && 0==mark)        //【caution】之前没有奇数,开头不能为空格
32                 printf("%d",even[cnt++]);
33             printf(" %d",even[cnt++]);
34         }
35         printf("\n");
36     }
37     return 0;
38 }

由于数据可能是有机有偶,只有奇数,只有偶数,要分不同情况讨论,空格的处理非常重要

九度OJ:题目1117:整数奇偶排序

标签:

原文地址:http://www.cnblogs.com/Evence/p/4448480.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!