【C语言】R7-5 奇偶排序

2024-01-03 13:45:39

R7-5 奇偶排序

分数 15

全屏浏览题目

切换布局

作者?wxr

单位?宁波财经学院

给定一个长度为n(0<n≤200)的正整数序列,按照以下要求排序:

  1. 奇数排在偶数前面;
  2. 奇数与偶数各自从小到大排列;

请根据以上要求完成排序,输出排序后的整数序列。

输入格式:

第一行给定一个整数n,第二行给出n个正整数,每个正整数不会超过int所能表示的范围。

输出格式:

输出排序后的整数序列,每行一个整数,共n行。

输入样例:

6
1 2 3 4 5 6

输出样例:

1
3
5
2
4
6

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

参考答案
#include<stdio.h>
int main(){
    int n,i,sign=0,p=0,q=0,j,t;
    scanf("%d",&n);
    int group[n],jishu[n],oushu[n];
    if(n%2!=0)sign=1;
    for(i=0;i<n;i++){
        scanf("%d",&group[i]);
        if(group[i]%2==0)oushu[p++]=group[i];
        else jishu[q++]=group[i];
    }
    for(i=0;i<p-1;i++){
        for(j=0;j<p-1;j++){
            if(oushu[j]>oushu[j+1]){
                t=oushu[j];
                oushu[j]=oushu[j+1];
                oushu[j+1]=t;
            }
        }
    }
    for(i=0;i<q-1;i++){
        for(j=0;j<q-1;j++){
            if(jishu[j]>jishu[j+1]){
                t=jishu[j];
                jishu[j]=jishu[j+1];
                jishu[j+1]=t;
            }
        }
    }
    for(i=0;i<q;i++)
        printf("%d\n",jishu[i]);
    for(i=0;i<p;i++)
        printf("%d\n",oushu[i]);

    return 0;
}

文章来源:https://blog.csdn.net/zRenox/article/details/135360695
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。