PTA 7-237 特殊排序

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

输入格式:

首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。每组测试先输入一个整数n(1

输出格式:

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

输入样例:

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
/*
奇数在前,偶数在后
同为奇数,前者大交换
一偶一奇,偶数直接放后面
同为偶数,前者大放后面
*/


#include 

void Special_sort(int arr[],int n)
{
    int flag=0;
    for(int i=0;iarr[j+1])// 同时为偶
                flag=1;
            else if(arr[j]%2!=0 && arr[j+1]%2!=0 && arr[j]>arr[j+1])// 同为奇数
                flag=1;
            else if(arr[j]%2==0 && arr[j+1]%2!=0)// 一偶一奇
                flag=1;
            else
                flag=0;// 一奇一偶
            if(flag==1)
            {
                int temp=arr[j];
                arr[j]=arr[j+1];
                arr[j+1]=temp;
            }
        }

    }
        
}

int main()
{
    int T,n;
    int arr[100];
    scanf("%d",&T);
    while(T--)
    {
        // 输入
        scanf("%d",&n);
        for(int i=0;i

 

你可能感兴趣的:(c语言)