西北工业大学 校赛 随机序列 题解

题目

![在这里插入图片描述](https://img-blog.csdnimg.cn/20200502135810194.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyNDk5MTMz,size_16,color_FFFFFF,t_70#pic_center)

思路

数据量不大,直接用类存储每一个卷子。直接算就是了。这道题的问题在于很多人没法控制格式化输出。其实很简单,他题目没说,但可以观察出是四舍五入到小数后第三位,直接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);
    }
    
}

原创文章 12 获赞 25 访问量 391

猜你喜欢

转载自blog.csdn.net/qq_42499133/article/details/105889851