xmuoj-排序考试

描述

处于某种原因,一点都不懂编程的某某系小迅老师竟然成功跳槽到计算机系来教大一新生如何编程。

看着这位在台上胡言乱语,水平比同学小华弱太多的老师,小鲁简直不忍直视。

那学期的期中考试,小讯老师出的题目竟然是:“请写一个排序算法给数组排序,结果按照升序输出。”

经过NQ49斩的小鲁分分钟就完成了代码。小讯老师一看,哎呀不得了,得提高期中考试难度。

他立刻把题目改为:“给定任意T组整数,每组整数都要按升序输出。”

小鲁笑了笑,原来这类题已经难不倒他了,原来他早就超过了大一上小讯老师的水平了!

小鲁水平进阶了,你做得到吗?

输入

第一行是整数T,表示一共有T组数据。

接下来T行,每行有N+1个数,第一个整数表示该行有N个待排序的数字。

整数N(1<=N<=1000000),T(1<=T<=100)。

输出

对于每组整数,按照升序输出排序结果,每个结果占一行。

输入样例 1 

3
4 412 120 5560 3760
5 576 66 35 99 88
4 127 100 510 380

输出样例 1

120 412 3760 5560
35 66 88 99 576
100 127 380 510

这一题其实很简单,正常地获取输入并排序,冒泡排序就可以,但是要注意输出时每一行最后一个数字后面是没有空格的,所以输出时要单独设置一下最后一个数字的输出。

#include <iostream>
using namespace std;
int main()
{
    int T;cin>>T;
    while(T--)
    {
        int n;cin>>n;
        int *arr=new int[n];
        for(int i=0;i<n;i++)
        {
            cin>>arr[i];
        }
        for(int i=0;i<n-1;i++)
        {
            for(int j=0;j<n-i-1;j++)
            {
                if(arr[j]>arr[j+1])
                {
                    int temp=arr[j];
                    arr[j]=arr[j+1];
                    arr[j+1]=temp;
                }
            }
        }
        int i;
        for( i=0;i<n-1;i++)
        {
            cout<<arr[i]<<" ";
        }
        cout<<arr[i];
        cout<<endl;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值