全部评论 3

  • #include<bits/stdc++.h>
    using namespace std;
    int a[105];
    bool cmp(int p,int q){
    if((p+1000)%21&&(q+1000)%21)return p>q;
    else if(p%20&&q%20)return p<q;
    else return (p+1000)%2>(q+1000)%2;
    }
    int main(){
    for(int i=1;i<=10;i++)cin>>a[i];
    sort(a+1,a+11,cmp);
    for(int i=1;i<=10;i++){
    cout<<a[i]<<" ";
    }
    return 0;
    }

    1周前 来自 浙江

    0
  • 代码已经将奇数偶数分开排序
    所以数组b的索引从1开始,那就不应sort(c+10,c+10+1)了,应该改为从1开始,长度为k-1的情况(sort(c+1,c+k))
    数组c的索引也从1开始,那就不应sort(b+j,b+j+1)了,应该改为从1开始,长度为j-1的情况(sort(b+1,b+j))

        for(int i=i;i<=j;i++){
            cout<<b[i]<<" ";
        }   
        cout<<endl;
    

    这个多余了

    #include<bits/stdc++.h>
    using namespace std;
    int a[15],b[20],c[30];
    int main(){
        int j=1,k=1;
        for(int i=1;i<=10;i++){
            cin>>a[i];
            if(a[i]%2==0){
                b[j]=a[i];
                j++;
            }
            else{
                c[k]=a[i];
                k++;
            }
        }
        sort(b+1,b+j);
        sort(c+1,c+k); 
        for(int i=k-1;i>=1;i--){
            cout<<c[i]<<" ";
        }
         for(int i=1;i<=j-1;i++){
            cout<<b[i]<<" ";
        }
        return 0;    
    }
    
    

    1周前 来自 上海

    0
  • #include<bits/stdc++.h>
    using namespace std;
    int a[15],b[20],c[30];
    int main(){
        int j=1,k=1;
        for(int i=1;i<=10;i++){
            cin>>a[i];
            if(a[i]%2==0){
                b[j]=a[i];
                j++;
            }
            else{
                c[k]=a[i];
                k++;
            }
        }
        sort(b+1,b+j);//
        sort(c+1,c+k);//
        for(int i=k-1;i>=1;i--){
            cout<<c[i]<<" ";
        }
         for(int i=1;i<=j-1;i++){
            cout<<b[i]<<" ";
        }
        return 0;    
    }
    

    1周前 来自 北京

    0
暂无数据

提交答案之后,这里将显示提交结果~

首页