当前位置:网站首页 > 更多 > 编程开发 > 正文

[算法刷题] 试题 算法提高 分数统计

作者:CC下载站 日期:2020-03-14 00:00:00 浏览:64 分类:编程开发

资源限制时间限制:1.0s 内存限制:512.0MB问题描述  2016.4.5已更新此题,此前的程序需要重新提交。问题描述  给定一个百分制成绩T,将其划分为如下五个等级之一:
  90~100为A,80~89为B,70~79为C,60~69为D,0~59为E
  现在给定一个文件inp,文件中包含若干百分制成绩(成绩个数不超过100),请你统计五个等级段的人数,并找出人数最多的那个等级段,按照从大到小的顺序输出该段中所有人成绩(保证人数最多的等级只有一个)。要求输出到指定文件oup中。输入格式  若干0~100的正整数,用空格隔开输出格式  第一行为5个正整数,分别表示A,B,C,D,E五个等级段的人数
  第二行一个正整数,表示人数最多的等级段中人数
  接下来一行若干个用空格隔开的正整数,表示人数最多的那个等级中所有人的分数,按从大到小的顺序输出。样例输入100 80 85 77 55 61 82 90 71 60样例输出2 3 2 2 1
3
85 82 80
importjava.util.*;
publicclassfenshutongji{

	/**
	*@paramargs
	*/
	publicstaticvoidmain(String[]args){
		//TODOAuto-generatedmethodstub
		Scannersc=newScanner(System.in);
		inta=0,b=0,c=0,d=0,e=0;
		intn=sc.nextInt();
		int[]list=newint[n];
		for(inti=0;i<list.length;i++){
			list[i]=sc.nextInt();
		}
		ArrayList<Integer>result0=newArrayList<Integer>();
		ArrayList<Integer>result1=newArrayList<Integer>();
		ArrayList<Integer>result2=newArrayList<Integer>();
		ArrayList<Integer>result3=newArrayList<Integer>();
		ArrayList<Integer>result4=newArrayList<Integer>();
		
		for(inti=0;i<list.length;i++){
			if(list[i]<=100&&list[i]>=90){
				result0.add(list[i]);
				a++;
			}elseif(list[i]<=89&&list[i]>=80){
				result1.add(list[i]);
				b++;
			}elseif(list[i]<=79&&list[i]>=70){
				result2.add(list[i]);
				c++;
			}elseif(list[i]<=69&&list[i]>=60){
				result3.add(list[i]);
				d++;
			}elseif(list[i]<=59&&list[i]>=0){
				result4.add(list[i]);
				e++;
			}
		}
		int[]index={a,b,c,d,e};
		for(inti=0;i<index.length;i++){
			System.out.print(index[i]+"");
		}
		inttemp=0,max=0;
		for(inti=0;i<index.length;i++){
			if(index[i]>temp){
				temp=index[i];
				max=i;
			}
		}
		System.out.println("
"+temp);
		//应题目要求从大到小输出,然后就。。。先顺序排序,再逆转列表
		if(max==0){
			Collections.sort(result0);
			Collections.reverse(result0);
			for(inti=0;i<result0.size();i++){
				System.out.print(result0.get(i)+"");
			}
		}elseif(max==1){
			Collections.sort(result1);
			Collections.reverse(result1);
			for(inti=0;i<result1.size();i++){
				System.out.print(result1.get(i)+"");
			}
		}elseif(max==2){
			Collections.sort(result2);
			Collections.reverse(result2);
			for(inti=0;i<result2.size();i++){
				System.out.print(result2.get(i)+"");
			}
		}elseif(max==3){
			Collections.sort(result3);
			Collections.reverse(result3);
			for(inti=0;i<result3.size();i++){
				System.out.print(result3.get(i)+"");
			}
		}elseif(max==4){
			Collections.sort(result4);
			Collections.reverse(result4);
			for(inti=0;i<result4.size();i++){
				System.out.print(result4.get(i)+"");
			}
		}
	}

}


您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯