游客 Signup | Login
中文 | En

3912 - 排序小游戏

排序小游戏

      今天上 c 语言课的时候小明被一道题给难倒啦!
平日里小明不喜欢看书,没好好看 C 语言书,今天被难倒了吧!
小明看着 C 老师给出的一排排序数据伤心不已,心里暗暗发誓,以后
一定好好看 C 语言书,一定好好学习,还好亡羊补牢为时不晚。
经过小明的不懈努力最终 AC 了那道题!
而今天这道题有点小变化,仔细看清楚哦!希望不要难倒你哦!

Input

第一行有一个整数 T(T <= 10)表示有 T 组测试数据,第二行有一个整数 N (0 < N <= 100)表示有N个整数(-51<N<51)

Output

每组测试数据输出 N 个整数,并且这 N 个数是按照绝对值的大小从大到小排列每个数
之间有一个空格,(最后一个数无空格)。

Examples

Input

2
4
-1 -3 2 0
5
-5 3 -1 2 6

Output

-3 2 -1 0
6 -5 3 2 -1

Solution C

#include<stdio.h>
#include<math.h>
#include<string.h>
int main()
{
    int n,i,j,t,m,x;
    int a[101];
    scanf("%d",&n);
    while(n--)
    {
     scanf("%d",&t);
     for(i=0;i<t;i++)
            scanf("%d",&a[i]);
     for(j=0;j<t-1;j++)
        for(i=0;i<t-1-j;i++)
        if(fabs(a[i])<fabs(a[i+1]))
     {
         x=a[i];
         a[i]=a[i+1];
         a[i+1]=x;
     }
     printf("%d",a[0]);
     for(i=1;i<t;i++)
        printf(" %d",a[i]);
        printf("\n");
    }
    return 0;
}

Solution C++

#include <iostream>
#include <algorithm>
#include <cmath>
#include <cstdio>
using namespace std;
const int maxx=105;
int a[maxx];
//bool cmp(int a,int b)
//{
//    return (fabs(a)>fabs(b));
//}
int main()
{
    //freopen("cinn.txt","r",stdin);
    //freopen("cout.txt","w",stdout);
    int T;
    cin>>T;
    while(T--)
    {
        int i,n;
        cin>>n;
        for(i=0; i < n; i++)
        {
            cin>>a[i];
        }
//        sort(a,a+n,cmp);
        for(i = 0; i < n - 1; i ++)
            for(int j = 0; j <n - i - 1; j ++)
                if(fabs(a[j])<fabs(a[j+1]))
                {
                    int t=a[j];
                    a[j] = a[j+1];
                    a[j+1] = t;
                }
        cout<<a[0];
        for(i=1; i<n; i++)
            cout<<" "<<a[i];
        cout<< endl;
    }
    return 0;
}

Time Limit 1 second
Memory Limit 128 MB
Discuss Stats
上一题 下一题