报名了今年9月15号的考试,在涮真题的时候发现大多都是C来解决的。而我更擅长于JAVA,就报名了java.结果在刷真题的过程中都没找到博主有很全的用java解决CCF。唉、、只能看Cl理解后又用JAVA实现,所以为了方便我就在刷题的过程中尽量在我博客上更新出来。我有时候想法圈圈绕绕的可能实现的不是最简单的方式,但尽量解决冲100分。。。所以如果有大神偶然路过或各位大侠代码方面有什么好改正的,尽管留言哟!!我会在考研过程中登上进行调整哒。
我是反着做的,就从2019年开始更起哈,先更完历年的第一题哈
一,我的目录
package question20193;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
//小中大问题:统计出n个数据中的最大值、中间数和最小值,并按照从大到小的顺序输出
//得分:100
public class Main {
public static void main(String[] args) {
int length;
//输入
Scanner s=new Scanner(System.in);
length=s.nextInt();
//创建一个长度不定的整形数组
ArrayList n=new ArrayList();
for(int i=0;i<length;i++) {
n.add(s.nextInt());
}
//升序排列
Collections.sort(n);
//计算中位数
double mod;
if(length%2==1) {
mod= (int) n.get((length-1)/2);
System.out.println(n.get(length-1)+" "+(int)mod+" "+n.get(0));
}else {
int mod1=(int) n.get(length/2);
int mod2=(int) n.get(length/2-1);
if((mod1+mod2)%2==1) {
mod=(mod1+mod2)/2.0;
System.out.println(n.get(length-1)+" "+mod+" "+n.get(0));
}else if((mod1+mod2)%2==0){
mod=(mod1+mod2)/2;
System.out.println(n.get(length-1)+" "+(int)mod+" "+n.get(0));
}
}
}
}