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

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

参考答案
cpp 复制代码
#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;
}
相关推荐
二进制person1 小时前
Java SE--方法的使用
java·开发语言·算法
OneQ6661 小时前
C++讲解---创建日期类
开发语言·c++·算法
JoJo_Way1 小时前
LeetCode三数之和-js题解
javascript·算法·leetcode
.30-06Springfield2 小时前
人工智能概念之七:集成学习思想(Bagging、Boosting、Stacking)
人工智能·算法·机器学习·集成学习
凌肖战4 小时前
力扣网C语言编程题:在数组中查找目标值位置之二分查找法
c语言·算法·leetcode
weixin_478689764 小时前
十大排序算法汇总
java·算法·排序算法
luofeiju5 小时前
使用LU分解求解线性方程组
线性代数·算法
学不动CV了5 小时前
数据结构---线性表理解(一)
数据结构
SKYDROID云卓小助手5 小时前
无人设备遥控器之自动调整编码技术篇
人工智能·嵌入式硬件·算法·自动化·信号处理
ysa0510305 小时前
数论基础知识和模板
数据结构·c++·笔记·算法