变换数组元素

作者在 2013-10-16 21:09:31 发布以下内容
Problem Description 

变换的内容如下:
1)将长度为10的数组中的元素按升序进行排序
2)将数组的前n个元素换到数组的最后面(0 < n < 10)

Input

输入数据首先包含一个整数T,表示测试实例的个数,然后是T行测试数据。每行测试数据包括1个正整数n,以及数组的10个原始数据。

Output

对于每组测试数据。输出变换后的全部数组元素。元素之间以空格分隔,最后一个数据之后没有空格。

Sample Input
1
2 34 37 98 23 24 45 76 89 34 68
Sample Output
34 34 37 45 68 76 89 98 23 24
Hint

排序后的结果是:23 24 34 34 37 45 68 76 89 98

将数组的前2个元素换到数组的最后面,最终结果:34 34 37 45 68 76 89 98 23 24 





#include<cmath>  
using namespace std;  
int main()  
{  
    int t,n,a[10],temp;  
    cin>>t;  
    for(int i=1;i<=t;i++)  
    {  
        cin>>n;  
        for(int j=0;j<10;j++)  
        {  
            cin>>a[j];  
        }  
        for(int k=0;k<9;k++)  
        {  
            for(int l=0;l<9-k;l++)  
            {  
                if(a[l]>a[l+1])  
                {  
                    temp=a[l];  
                    a[l]=a[l+1];  
                    a[l+1]=temp;  
                }  
            }  
        }  
        for(int q=n;q<10;q++)  
        {  
            cout<<a[q]<<" ";           //先输出n以后的
        }  
        for(int p=0;p<n;p++)  
        {                               //在输出n之前的
            if(p==n-1) cout<<a[p];     //控制最后输出时结尾没有多余的空格
            else cout<<a[p]<<" ";  
        }  
        cout<<endl;  
    }  
    return 0;  
}  

默认分类 | 阅读 1960 次
文章评论,共0条
游客请输入验证码
浏览18797次
文章分类
最新评论