问题标题: 4901

0
0
已解决
李宜和
李宜和
高级启示者
高级启示者

4901   前三后三

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

题目描述 Description

现在有一组数据,只对该组数据的前三个数据和后三个数据进行从小到大排序
(用sort实现)

输入描述 Input Description

第一行,一个整数n
接下来n个数

输出描述 Output Description

输出按题目要求排好序的数列

样例输入 Sample Input

6 3 2 1 4 6 5

样例输出 Sample Output

1 2 3 4 5 6

数据范围及提示 Data Size & Hint

n<=100

 

 

错误代码:

#include<bits/stdc++.h>
using namespace std;
bool cmp(int a,int b){
    return  a<b; 

int main(){
    long long n,m[1000000];
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>m[i];
    }
    sort(m+1,m+3+1,cmp);
    sort(n-3+1,n+1,cmp);
    for(int i=1;i<=n;i++){
        cout<<m[i]<<" ";
    }
    return 0;
}

 

 

运行了之后。。。

哎呀真不**啊

真不**啊真不**

 


0
已采纳
朱小川
朱小川
缔造者
缔造者

for(int i=1;i<=n;i++){
        cin>>a[i];
    }
    sort(a+1,a+3+1);
    sort(a+n-2,a+n+1);
     for(int i=1;i<=n;i++){
        cout<<a[i]<<" ";
    }

核心

0
潘艺博
潘艺博
初级天翼
初级天翼

这题不更简单吗,思路:

定义n,a[300]//主函数外

--------------------------(还是分割线)

输入n,循环输入a[i],sort(a+1,a+1+3)和sort(a+n-2,a+1+n),最后循环输出a[i]

望采纳~

0
李锦昊
李锦昊
中级天翼
中级天翼

你sort写错了

sort(m+n-3+1,m+n+1,cmp);

不能不写m,不然**不知道你排的是啥

0
曹博扬
曹博扬
初级天翼
初级天翼

1.DEV要更新

2.数组过度越界

0
我要回答