题目
思路
数据量不大,直接用类存储每一个卷子。直接算就是了。这道题的问题在于很多人没法控制格式化输出。其实很简单,他题目没说,但可以观察出是四舍五入到小数后第三位,直接System.out.println("%.3f",%float) 就完事
import java.util.*;
public class 测试{
public static class paper{
int number;
int []list;
public paper(int number){
this.number=number;this.list=new int[number];
}
}
public static void main(String args[]){
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
paper [] paperList=new paper[n];
for(int i =0;i<n;i++) {
int number=sc.nextInt();
paperList[i]=new paper(number);
for(int j =0;j<number;j++) {
paperList[i].list[j]=sc.nextInt();
}
}
for(int i =0;i<n;i++){
getJiCha(paperList[i]);
}
}
public static void getJiCha(paper p){
Arrays.sort(p.list);
System.out.print((p.list[p.list.length-1]-p.list[0])+" " );
getFangcha(p);
}
public static void getFangcha(paper p){
double av=0;
for(int i = 0;i<p.list.length;i++){
av+=p.list[i];
}
av/=p.list.length;
double sum=0;
for(int i=0;i<p.list.length;i++){
double tmp= Math.pow(p.list[i]-av,2);
sum+=tmp;
}
sum/=p.list.length;
System.out.printf("%.3f\n",sum);
}
}