蓝桥杯--排序问题

C语言代码

#include<stdio.h>
#include<algorithm>
using namespace std;
int main(){
    int n,l1,r1,l2,r2;
    int a[10001];
    scanf("%d %d %d %d %d",&n,&l1,&r1,&l2,&r2);
    for(int i=0;i<n;i++){
        scanf("%d",&a[i]);
    }
    for(int j=0;j<n;j++){
        if(l1-1==j){
            sort(a+(l1-1),a+r1);
        }
    }
    for(int q=0;q<n;q++){
            if(l2-1==q){
            int b[10001];
            
            for(int t=0;t<r2-l2+1;t++){
                b[t]=a[q+t];
            }
            sort(b,b+(r2-l2+1));
            for(int p=r2-l2;p>=0;p--){
                a[q+(r2-l2)-p]=b[p];
                //printf("%d",b[p]);
            }
        }
    }
    for(int k=0;k<n;k++){
        printf("%d",a[k]);
        if(k<n-1){
            printf(" ");
        }
    }
    return 0;
}

C语言代码

#include<stdio.h>
#include<algorithm>
#include<vector>
using namespace std;
int main(){
    int n;
    int a[101];
    vector<int> v;
    scanf("%d",&n);
    for(int i=0;i<n;i++){
        scanf("%d",&a[i]);
    }
    for(int j=0;j<n;j++){
        int count=0;
        for(int k=j+1;k<n;k++){
            if(a[j]==a[k]){     
                break;
            }else{
                count++;
            }                
        }
        if(count==n-j-1){
            v.push_back(a[j]);
        }
    }
    sort(v.begin(),v.end());
   printf("%d
",v.size());
    for(int i=0;i<v.size();i++){
        printf("%d",v[i]);
        if(i<v.size()-1){
            printf(" ");
        }
    }
    return 0;
}
原文地址:https://www.cnblogs.com/pythonbigdata/p/8563851.html