问题标题: 酷町堂:1761 从小到大排序

0
0
已解决
王子健
王子健
初级天翼
初级天翼
#include<iostream>
using namespace std;
int main()
{
    int n,a[110];
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cin>>a[i];
    }
    for(int i=0;i<n;i++)
    {
        for(int j=i+1;j<n;j++)
        {
            if(a[i]>a[j])
            swap(a[i],a[j]);
        }
    }
    for(int i=0;i<n;i++)
    {
        cout<<a[i]<<" ";
    }
    return 0;
 } 

咋错的


0
已采纳
王欣怡
王欣怡
新手光能
新手光能

循环的范围:

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

{

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

    {

        if(a[i]>a[j])

            swap(a[i],a[j]);

    }

}

望采纳

0
0
尹宗鑫
尹宗鑫
新手守护
新手守护

for(int i=0;i<n;i++)
    {
        for(int j=i;j<n;j++)
        {
            if(a[i]>a[j])
            swap(a[i],a[j]);
        }
    }

由于你是从0开始的(我是从1开始的),可以写成for(int j=i+1-1;i<n;i++)

也就是for(int j=i;i<n;i++)

 

 

求采纳

0
尹宗鑫
尹宗鑫
新手守护
新手守护

王欣怡 的程序经过试验是不可以AC的

0
王学庚
王学庚
初级光能
初级光能

    sort(a,a+n);

    核心

    这就是排序的代码

    把循环改成这个就行了

    还要定义大一点int a[100010];

    sort要加头文件

    #include <algorithm>

    望采纳

0
0
我要回答