reusl1nn 2021-11-13 21:03 采纳率: 100%
浏览 938
已结题

输入一个整数n和n个各不相等的整数,将这些整数从小到大进行排序,要求奇数在前,偶数在后。

输入一个整数n和n个各不相等的整数,将这些整数从小到大进行排序,要求奇数在前,偶数在后。

输入格式:
首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。每组测试先输入一个整数n(1<n<100),再输入n个整数。

输出格式:
对于每组测试,在一行上输出根据要求排序后的结果,数据之间留一个空格。

输入样例:
3
5 1 2 3 4 5
3 12 4 5
6 2 4 6 8 0 1
输出样例:
1 3 5 2 4
5 4 12
1 0 2 4 6 8

  • 写回答

3条回答 默认 最新

  • 关注

    代码如下:

    #include <stdio.h>
    
    //冒泡排序
    void bubble_sort(int a[],int n)
    {
        int i,j,t;
        for (i=0;i<n-1;i++)
        {
            for (j=0;j<n-1-i;j++)
            {
                if(a[j] > a[j+1])  //从小到大,升序
                {
                    t = a[j];
                    a[j]=a[j+1];
                    a[j+1]=t;
                }
            }
        }
    }
    
    int main()
    {
        int i,T,n,a[100],j,k,m,s;
        scanf("%d",&T);
        for(i=0;i<T;i++)
        {
            scanf("%d",&n);
            for(j=0;j<n;j++)
                scanf("%d",&a[j]);
            //排序
            bubble_sort(a,n);
            //调整奇偶数的位置
            m = 0;//奇数index
            for (j=0;j<n;j++)
            {
                if(a[j]%2==1)
                {
                    //把a[j]放在a[m],数组后移
                    s = a[j];
                    for(k=j;k>m;k--)
                    {
                        a[k] = a[k-1];
                    }
                    a[m] = s;
                    m++;
                }
            }
            //显示
            for(k=0;k<n;k++)
            {
                if(k<n-1)
                    printf("%d ",a[k]);
                else
                    printf("%d\n",a[k]);
            }
        }
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 11月21日
  • 已采纳回答 11月13日
  • 创建了问题 11月13日

悬赏问题

  • ¥15 基于单片机的靶位控制系统
  • ¥15 AT89C51控制8位八段数码管显示时钟。
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错