1723. 奇偶数选大王

问题描述

在数字王国中,有值为 1∼n1∼n 之间的整数,有奇数也有偶数;他们想分别在奇数和偶数中选出各自的大王,也就是选出奇数和偶数的最大数作为奇数大王和偶数大王。

请你编程帮助数字王国选出奇数和偶数的大王,并将所有的数字从小到大输出。

比如,假设输入 55 个数,分别是 33 88 99 11 66 ,那么奇数大王(最大数)是 99 ,偶数大王(最大数)是 88 ,因此输出奇数大王和偶数大王以及所有数按照由小到大排序如下:

9 8
1 3 6 8 9

输入

输入有 22 行;

第 11 行有一个整数 nn(nn 是 10∼100010∼1000 之间的整数),代表数字王国中数字的总个数;

第 22 行有 nn 个整数(这些整数值在 1∼10000001∼1000000 之间,测试数据保证有奇数,也有偶数),数字之间用空格隔开。

输出

第 11 行输出 22 个整数,分别是奇数大王和偶数大王,两个数之间用空格隔开;

第 22 行将 nn 个整数从小到大排序后输出,数与数之间用空格隔开。

样例

输入
5
3 8 9 1 6
输出
9 8
1 3 6 8 9
输入
8
11 3 12 8 1 1 5 10
输出
11 12
1 1 3 5 8 10 11 12

答案:
#include<bits/stdc++.h> 
//#include<iostream>
using namespace std;
int main(){
    int n,i,j,maxj=0,maxo=0,a[1000];
    cin>>n;
    for(i=0;i<n;i++){
    	cin>>a[i];
    	if(a[i]%2==1){
			if(a[i]>maxj){
				maxj=a[i];
			}
		}if(a[i]%2==0){
			if(a[i]>maxo){
				maxo=a[i];
			}
		}
	}for(i=1;i<=n-1;i++){
		for(j=0;j<=n-1-i;j++){
			if(a[j]>a[j+1]){
				int t=a[j];
				a[j]=a[j+1];
				a[j+1]=t;
			}
		}
	}cout<<maxj<<" "<<maxo<<endl;
	for(i=0;i<n;i++){
		cout<<a[i]<<" ";
	}return 0;
}
投票

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值