把数字按升序排序,该如何处理

把数字按升序排序
首先输入的是一个数字T表示有多少组测试数据,接下来是T组测试数据。每组测试数据会有一个数字N表示有N个数字你需要排序。接着是你需要排序的N个数据。(1 <= n <= 1000,接着的N个数字,每个数字都在int型表示范围内)

 

对于每组数据,输出排序后的结果。

输出的时候,每个数字之间用一个空格格开。最后一个数字后面没有空格。

 

Sample Input

2
3 2 1 3
9 1 4 7 2 5 8 3 6 9

Sample Output

1 2 3
1 2 3 4 5 6 7 8 9

 

求c++或c的代码!!!跪求!

------解决方案--------------------
C/C++ code


#include <iostream>
#include<algorithm>
#include <vector>
using namespace std;

int main()
{
    int n = 0;
    cin>>n;
    vector<int> num;
    char c = ' ';
    
    while (n)
    {
        int i = 0;
        int m;
        do 
        {
            cin>>m;
            num.push_back(m);
        } while (getchar() != '\n');
        sort(num.begin(),num.end());
        for (int i = 0; i < num.size(); i++)
        {
            cout<<num[i]<<" ";
        }
        cout<<endl;
        n--;
    }
}

------解决方案--------------------
查看stl中的sort算法,即可解决楼主的困惑:
http://www.cplusplus.com/reference/algorithm/sort/

还可以按降序排列,参考下面的代码:
C/C++ code

#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;

bool ascending (int i,int j) { return (i<j); }
bool descending (int i,int j) { return (i>j); }

int main () {
  int myints[] = {32,71,12,45,26,80,53,33};
  vector<int> myvector (myints, myints+8);               // 32 71 12 45 26 80 53 33
  vector<int>::iterator it;

  // 升序
  sort (myvector.begin(), myvector.end(), ascending); // 12 32 45 71(26 33 53 80)

  // 结果:
  cout << "myvector contains:";
  for (it=myvector.begin(); it!=myvector.end(); ++it)
    cout << " " << *it;

  cout << endl;

  // 降序
  sort (myvector.begin(), myvector.end(), descending); // 12 32 45 71(26 33 53 80)

  // 结果:
  cout << "myvector contains:";
  for (it=myvector.begin(); it!=myvector.end(); ++it)
    cout << " " << *it;

  cout << endl;

  return 0;
}