P1051 谁拿了最多奖学金(排序,字符串,洛谷,java)

洛谷链接:https://www.luogu.com.cn/problem/P1051
问题:班级奖学金的条件是班级成绩!!!第一份代码忘记写break

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;
class Main{
	static int[] J=new int[101];        //奖学金
	static int[] J2=new int[101];        //奖学金
	static String[] N=new String[101];  //保存姓名
	static int[] Q=new int[101];        //期末成绩
	static int[] B=new int[101];        //班级成绩
	static char[] S=new char[101];      //学生干部
	static char[] X=new char[101];      //西部学生
	static int[] L=new int[101];        //论文数量
	static int sum=0;                   //总数
	
	public static void jxj(int i,int q,int b,char s,char x,int l) {
		
		if(q>80 && l>0) { J[i]+=8000; }      //院士奖学金
		if(q>85 && b>80) { J[i]+=4000; }     //五四奖学金
		if(q>90) { J[i]+=2000; }             //成绩优秀奖学金
		if(q>85 && x=='Y') { J[i]+=1000; }   //西部奖学金
		if(b>80 && s=='Y') { J[i]+=850; }    //学生干部奖学金
		sum+=J[i];
		J2[i]=J[i];
	}
	
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		
		
		int n=in.nextInt();
		for(int i=0;i<n;i++) {
			N[i]=in.next();
			Q[i]=in.nextInt();
			B[i]=in.nextInt();
			S[i]=in.next().charAt(0);
			X[i]=in.next().charAt(0);
			L[i]=in.nextInt();
			jxj(i,Q[i],B[i],S[i],X[i],L[i]);
		}
        Arrays.sort(J,0,n);
        for(int i=0;i<n;i++) {
        	if(J2[i]==J[n-1]) {
        		System.out.println(N[i]);
        		System.out.println(J2[i]);
        		System.out.println(sum);
        		break;
        	}
        }
	}
}

import java.util.Scanner;
class Main{
	
	
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int sum=0,max=0,total=0;
		String maxn="";
		int n=in.nextInt();
		
		for(int i=0;i<n;i++) {
			String name=in.next();
			int qscore=in.nextInt();
			int bscore=in.nextInt();
			char stu=in.next().charAt(0);
			char xi=in.next().charAt(0);
			int lun=in.nextInt();
			
			if(qscore>80 && lun>0) { sum+=8000; }
			if(qscore>85 && bscore>80) { sum+=4000; }
			if(qscore>90) { sum+=2000; }
			if(qscore>85 && xi=='Y') { sum+=1000; }
			if(bscore>80 && stu=='Y') { sum+=850; }
			total+=sum;
			if(sum>max) {
				maxn=name;
				max=sum;
			}
			sum=0;
		}
		System.out.println(maxn);
		System.out.println(max);
		System.out.println(total);
	}
}

发布了68 篇原创文章 · 获赞 26 · 访问量 606

猜你喜欢

转载自blog.csdn.net/weixin_44685629/article/details/103938106