2026-01-21 20:07:25
发布于:浙江
哪位大佬帮一下,回复给关注。
#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+j,b+j+1);
sort(c+10,c+10+1);
for(int i=i;i<=j;i++){
cout<<b[i]<<" ";
}
cout<<endl;
for(int i=k-1;i>=1;i--){
cout<<c[i]<<" ";
}
for(int i=1;i<=j-1;i++){
cout<<b[i]<<" ";
}
return 0;
}
全部评论 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;
}6天前 来自 浙江
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; }6天前 来自 上海
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; }6天前 来自 北京
0




















有帮助,赞一个