package pro01;
import java.util.Scanner;
//题目:输入一个数字字符串,比如1 2 3 4 5 6 7 8 9。数字之间用空格分割。
//奇数位的数字升序排列,偶数位的降序排列。然后奇数位输出一个,偶数位输出一个。
/**
* 一:字符串数组个数不同比较啰嗦
* @author Administrator
*
*/
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str=sc.nextLine();
String[] s=str.split(" ");
int[] odd;//只是声明
int[] even;
if(s.length%2==0){//输入的字符串是奇数个还是偶数个(这个对后面的输出影响比较复杂)
odd=new int[s.length/2];//这里是创建数组对象
even=new int[s.length/2];
}else{
odd=new int[s.length/2+1];
even=new int[s.length/2];
}
for(int i=0;i<s.length;i++){//拆分成两个数组
if(i%2==0)
odd[i/2]=Integer.parseInt(s[i]);
else
even[i/2]=Integer.parseInt(s[i]);
}
for(int i=0;i<odd.length-1;i++){//升序排序
for(int j=i+1;j<odd.length;j++){
if(odd[i]>odd[j]){
int temp=odd[i];
odd[i]=odd[j];
odd[j]=temp;
}
}
}
for(int i=0;i<even.length-1;i++){//降序排序
for(int j=i+1;j<even.length;j++){
if(even[i]<even[j]){
int temp=even[i];
even[i]=even[j];
even[j]=temp;
}
}
}
if(odd.length==even.length){
for(int i=0;i<odd.length-1;i++){
System.out.print(odd[i]+" "+even[i]+" ");
}
System.out.println(odd[odd.length-1]+" "+even[odd.length-1]);
}else{
for(int i=0;i<even.length;i++){
System.out.print(odd[i]+" "+even[i]+" ");
}
System.out.println(odd[odd.length-1]);
}
sc.close();
}
}
package pro01;
import java.util.Scanner;
//题目:输入一个数字字符串,比如1 2 3 4 5 6 7 8 9。数字之间用空格分割。
//奇数位的数字升序排列,偶数位的降序排列。然后奇数位输出一个,偶数位输出一个。
/**
* 二:不在一开始就指定奇数偶数字符串数组的个数
* @author Administrator
*
*/
public class Main2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str=sc.nextLine();
String[] s=str.split(" ");
int[] odd=new int[512];
int[] even=new int[512];
int x=0;
int y=0;
for(int i=0;i<s.length;i++){
if(i%2==0){
odd[x]=Integer.parseInt(s[i]);
x++;
}else{
even[y]=Integer.parseInt(s[i]);
y++;
}
}
for(int i=0;i<x-1;i++){//升序排序
for(int j=i+1;j<x;j++){
if(odd[i]>odd[j]){
int temp=odd[i];
odd[i]=odd[j];
odd[j]=temp;
}
}
}
for(int i=0;i<y-1;i++){//降序排序
for(int j=i+1;j<y;j++){
if(even[i]<even[j]){
int temp=even[i];
even[i]=even[j];
even[j]=temp;
}
}
}
for(int i=0;i<y-1;i++){
System.out.print(odd[i]+" "+even[i]+" ");
}
System.out.print(odd[y-1]+" "+even[y-1]);
if(x>y){
System.out.println(" "+odd[y]);
}
sc.close();
}
}