问题标题: 酷町堂:(20豆活动!)求2845 函数实现选择排序(尖叫!)

0
0
已解决
被禁言 杜明泽
杜明泽
资深守护
资深守护

2845   函数实现选择排序

经验值:800 时间限制:1000毫秒

题目描述 Description

输入多组数据,每组数据的第一个数字x表示这组数据中数字的个数,接下来输入x个数字 ,对于每组数据输出一行,为从大到小排序好的序列

输入描述 Input Description

第一行:整数t,表示有t组数据
每组数据一行:第一个数字为x,接下来x个数字为待排序的数字

输出描述 Output Description

输出共t行,每行为从大到小排序好的序列

样例输入 Sample Input

1 11 75 75 61 77 70 78 5 78 44 86 1

样例输出 Sample Output

86 78 78 77 75 75 70 61 44 5 1

数据范围及提示 Data Size & Hint

t<=10, x<=100


0
已采纳
王子桐
王子桐
高级光能
高级光能

呵呵,我会,你要代码吗?

这道题用到函数的定义,具体的就是

void xxx();

这是我们没学的知识点(但我会,我编游戏就会用到)。

核心如下:


void easy(int [],int);//必不可少的一步!!!
int main(){
    cin>>t;
    for(int i=1;i<=t;i++){
        cin>>x;
        for(int j=1;j<=x;j++)
            cin>>a[j];
        easy(a,x);//跳转函数
        cout<<endl;
    }
    return 0;
}
void easy(int a[],int n){//函数的具体内容
    for(int i=1;i<=n;i++)
        for(int j=i+1;j<=n;j++)
            if(a[i]<a[j])
                交换a[i]、a[j];

    for(int i=1;i<=n;i++)
        cout<<a[i]<<' ';
}

 

然而,这也可以用for循环……


    定义 t,n,a[105];
    输入>>t;
    for(循环t次){
        cin>>n;
    for(int i=1;i<=n;i++)cin>>a[i];
    for(int i=1;i<=n;i++){
        for(int j=i+1;j<=n;j++){
            if(a[i]<a[j]){
                交换a[i]、a[j];
            }
        }
    }
    for(int i=1;i<=n;i++)cout<<a[i]<<' '; 
    cout<<"\n";//关键点!!!
    }
    return 0;
} 

望采纳!谢谢!!!

0
被禁言 张恩昊
张恩昊
资深天翼
资深天翼

jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj

0
0
0
我要回答