| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 403 人关注过本帖
标题:变换数组元素
只看楼主 加入收藏
欣飞飞
Rank: 1
等 级:新手上路
帖 子:20
专家分:1
注 册:2013-10-6
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
变换数组元素
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<iostream>
using namespace std;
int main()
{
    int a[100],i,t,n;
    cin>>t;
    for(i=0;i<t;i++)
    {
        cin>>n;
        for(int j=0;j<10;j++)
        {
            cin>>a[j];
        }
        for(int k=0;k<9;k++)
        {
            int minpos=k;
            for(int e=k+1;e<10;e++)
            {
                if(a[e]<a[minpos]) minpos=e;
            }
            int t=a[k];a[k]=a[minpos];a[minpos]=t;
        }
        for(i=n;i<10;i++)
        {
            cout<<a[i]<<" ";
        }
        for(i=0;i<n;i++)
        {
            if(i==n-1)
                cout<<a[i];
            else
                cout<<a[i]<<" ";
        }   
        cout<<endl;
    }
   
    return 0;
}
为什么我同学用这个程序时只能进行一组测试,实在是找不到问题在哪,求教给位大神。
搜索更多相关主题的帖子: 正整数 元素 
2013-10-29 21:40
yhyoin
Rank: 2
等 级:论坛游民
帖 子:7
专家分:30
注 册:2013-10-22
收藏
得分:10 
楼主的代码
i 与  t  上下串用,数据都乱了

 cin>>t;
     for(int z = 0;z<t;z++)
     {


  int temp = a[k];
             a[k] = a[minpos];
             a[minpos] = temp;


这样改完后就可以了

[ 本帖最后由 yhyoin 于 2013-10-31 12:23 编辑 ]
2013-10-29 22:30
yhyoin
Rank: 2
等 级:论坛游民
帖 子:7
专家分:30
注 册:2013-10-22
收藏
得分:10 
之前意思理解错了
2013-10-31 12:27
快速回复:变换数组元素
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016976 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved