初级光能
排序奇偶输出经验值:800
题目描述 Description
现有n个整数无序地排列,请将其中的奇数从小到大输出,再将其中的偶数从小到大输出。(输入保证奇数和偶数都存在)
输入描述 Input Description
两行
第一行,整数的个数n
第二行,n个无序排列的整数
输出描述 Output Description
两行
第一行,从小到大排列的奇数数列,数之间用空格隔开
第二行,从小到大排列的偶数数列,数之间用空格隔开
样例输入 Sample Input
10 4 15 5 6 1 3 13 16 24 10
样例输出 Sample Output
1 3 5 13 15 4 6 10 16 24
数据范围及提示 Data Size & Hint
1<n<=100
#include<iostream>
using namespace std;
int main() {
int a[10005],b[10005],c[10005],n,sum=1,sum1=1,t;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=1;i<=n;i++){
if(a[i]%2==0){
b[sum]=a[i];
sum++;
}
else{
c[sum1]=a[i];
sum1++;
}
}
sum--;
sum1--;
for(int i=1;i<=sum-1;i++){
for(int y=i+1;y<=sum;i++){
if(b[i]>b[y]){
t=b[i];
b[i]=b[y];
b[y]=t;
}
}
}
for(int i=1;i<=sum1-1;i++){
for(int y=i+1;y<=sum1;i++){
if(c[i]>c[y]){
t=c[y];
c[y]=c[i];
c[i]=t;
}
}
}
for(int i=1;i<=sum1-1;i++){
cout<<c[i];
}
cout<<endl;
for(int i=1;i<=sum1-1;i++){
cout<<b[i];
}
return 0;
}
测试 输入:
10
4 15 5 6 1 3 13 16 24 10
--------------------------------------------------------
测试 输出:
---------------------------------------------------------
缔造者之神
for(int i=1;i<=n;i++)
{
cin>>a[i];
if(a[i]%2==1)
{
d++;
b[d]=a[i];
}
else
{
e++;
c[e]=a[i];
}
}
sort(b+1,b+d+1);
sort(c+1,c+e+1);
直接sort即可
望采纳!
缔造者
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=1;i<=n;i++){
for(int j=i+1;j<=n;j++){
if(a[i]>a[j]){
swap(a[i],a[j]);
}
}
}
for(int i=1;i<=n;i++){
if(a[i]%2==1){
cout<<a[i]<<" ";
cnt++;
}
}
if(cnt!=0) cout<<endl;
for(int i=1;i<=n;i++){
if(a[i]%2==0){
cout<<a[i]<<" ";
}
}