首页 > 其他分享 >6-12 奇偶分离排序(关注输出的空格处理)

6-12 奇偶分离排序(关注输出的空格处理)

时间:2024-03-08 15:33:39浏览次数:24  
标签:sort 奇偶 12 输出 int 空格 排序 10

6-12 奇偶分离排序(关注输出的空格处理)

分数 10
作者 王秀
单位 福州大学
输入10个整数,完成一个函数使数据 重新排序以后输出(也按空格分隔),要求:
输出奇数在前偶数在后

函数接口定义:
void sort_tarray ( int* a );

裁判测试程序样例:

#include <cstdio>
#include <iostream>
#include <algorithm>
using namespace std;
void sort_array(int* a);
/* 请在这里填写答案 */
int main(){
    int a[10];
    for (int i=0;i < 10; i++)
        cin>>a[i]; 
   sort_array(a);
    return 0;
}

输入样例:
在这里给出一组输入。例如:
1 2 3 4 5 6 7 8 9 10
输出样例:
在这里给出相应的输出。例如:
9 7 5 3 1 2 4 6 8 10

参考代码

void sort_array ( int* a )
{
    //先从小到大排序
    for(int i=9;i>=0;i--)
    {
        for(int j=0;j<i;j++)
        {
            if(a[j]>a[j+1])
            {
                int t;
                t=a[j];
                a[j]=a[j+1];
                a[j+1]=t;
            }
        }
    }
    
    //把奇数放到b数组,把偶数放到c数组
    int b[12];
    int c[12];
    int m=0,n=0;
    for(int i=0;i<10;i++)
    {
        if(a[i]%2 != 0)
        {
            b[m]=a[i];
            m++;
        }
        else 
        {
            c[n]=a[i];
            n++;
        }
    }
    
    //b数组降序输出,c数组升序输出
    for(int i=m-1; i>=0; i--)
    {
        if(i!=0)
            cout<<b[i]<<" ";
        else 
            cout<<b[i];
    }

    if(m > 0 && n > 0) cout<<" ";//有奇数也有偶数,中间才输出空格
    
    for(int i=0; i<=n-1; i++)
    {
        if(i!=n-1)
            cout<<c[i]<<" ";
        else 
            cout<<c[i];
    }
}

标签:sort,奇偶,12,输出,int,空格,排序,10
From: https://www.cnblogs.com/yesno233233/p/18061102

相关文章

  • P6121 [USACO16OPEN] Closing the Farm G
    原题链接题解抽象化抽象成点和边,对于抹除一个点,判断整个图是否联通等价于建立一个点(被抹除点的前一个点),判断这个点与周围点相连后,累积合并次数是否等于点数减一code#definelllonglong#include<bits/stdc++.h>usingnamespacestd;llfa[200005];llfinds(llnow){ret......
  • GB 2312字符集:中文编码的基石
    一、GB2312字符集的背景GB2312字符集是中国国家标准委员会于1980年发布的一种中文字符集,是中国大陆最早的中文字符集之一。GB2312字符集的发布填补了中国大陆中文编码的空白,为中文信息处理提供了基础。标准中文电码查询|一个覆盖广泛主题工具的高效在线平台(amd794.com)h......
  • 使用贴现率8%和12%分别计算每个项目的净现值(NPV)
    具体代码packageorg.example;importjava.math.BigDecimal;//使用贴现率8%和12%分别计算每个项目的净现值(NPV)publicclassMain{publicstaticvoidmain(String[]args){int[]a1=newint[]{-100000,10000,10000,10000,20000,100000};int[]a2......
  • 解决 Android studio Connect to 127.0.0.1:[/127.0.0.1] failed: Connection refused
    前言由于代理变更,androidstudio会有一系列报错,其中一个是Connectto127.0.0.1:xxxxxx[/127.0.0.1]failed:Connectionrefused网上答案大都太片面了,无法完全解决问题,这里列举出四个可能的原因,希望对大家有用问题如下建议一下四种方案都尝试下,我相信总有一种能......
  • 全新QSiC 1200V 模块:GCMS020A120S1-E1、GCMS040A120S1-E1、GCMX020B120S1-E1、GCMS020
    全新QSiC1200VSOT-227SiC模块,提升能源标准,这些超高效模块支持电动汽车、医疗电源和太阳能大功率应用的创新设计。特点低开关损耗低结至外壳热阻非常坚固,易于安装直接安装到散热器上(隔离封装)超低损耗的高频操作SiCSBDs的零反向恢复电流SiCMOSFETs的小关断尾电流低杂散电感......
  • leetcode120. 三角形最小路径和
    leetcode120.三角形最小路径和这道题的关键在于想到dp[i][j]=min(dp[i-1][j-1],dp[i-1][j])+triangle[i][j];太久没做过算法题了,连设一个dp数组都没意识到我的代码classSolution{public:intminimumTotal(vector<vector<int>>&triangle){intsize......
  • 3121000389
    这个作业属于哪个课程软件工程2024-双学位(广东工业大学)这个作业要求在哪里软件工程第一次作业这个作业的目标建立个人技术博客加入博客园班级学习使用Markdown文本语法撰写博客准备一个GitCode账号、上传代码其他参考文献无目录一、评估当前的自己简历......
  • LeetCodeHot100 1.两数之和 46.字母异位词分组 128.最长连续序列
    1.两数之和https://leetcode.cn/problems/two-sum/description/?envType=study-plan-v2&envId=top-100-likedpublicint[]twoSum(int[]nums,inttarget){HashMap<Integer,Integer>map=newHashMap<>();for(inti=0;i<nums.l......
  • redis自学(12)用户空间和内核空间
    用户空间和内核空间服务器大多采用Linux系统,所以以Linux为例:任何Linux发行版,其系统内核都是Linux。我们的应用都需要通过Linux内核与硬件交互。  用户应用是无法直接访问计算机硬件,只能访问内核,基于内核操作计算机硬件  为了避免用户应用导致冲突甚至内核崩溃,用户应......
  • P10120『STA - R4』冰红茶 题解
    分析出得很好,模板套模板,希望下次再来。难点在于维护最后连续喝的DS饮料数量。设这次喝原味饮料的区间为\([l,r]\),上一次为\([l',r']\)。则有两种情况:\([l,r]\)与\([l',r']\)不相交。如:在\([l',r']\)和\([l,r]\)两个区间中的DS连续喝的同种饮料数量都会变成\(k......