问题标题: 酷町堂:3814

0
0
已解决
李思远
李思远
中级守护
中级守护

求解~

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n,c=1;
    long long a[60000];
    cin>>n;
    for(int i=0;i<n;i++)
        cin>>a[i];
    for(int i=0;i<n-1;i++)
    {
        if(c==0)break;
        c=0;
        for(int j=0;j<n-i-1;j++)
        {
            if(a[j]<a[j+1])
            {
                swap(a[j],a[j+1]);
                c=1;
            }
        }
    }
    cout<<a[m];
    return 0;
}

0
已采纳
毛润宇
毛润宇
新手天翼
新手天翼

你的m根本就没定义,哪来的???

m也没输入啊!!!

中间冒泡排序的代码好乱啊!!!

怎么上来就“

if(c==0)break;
        c=0;

了?你还没排序呢!!!

 for(int j=0;j<n-i-1;j++)

这行中的j<n-i-1什么意思???

你还是看看别人怎么写的吧(我不敢发代码);

酷町堂:3814哪里错了?

0
0
0
陈一彤
陈一彤
修练者
修练者

定义一下m,把判断c是否等于0放在两层循环中间

我要回答