题目:
编写一个程序,建立了一条单向链表,每个结点包含姓名、学号、英语成绩、数学成绩和C++成绩,并通过链表操作平均最高的学生和平均分最低的学生并且输出。
输入格式
输入n+1行,第一行输入一个正整数n,表示学生数量;接下来的n行每行输入5个数据,分别表示姓名、学号、英语成绩、数学成绩和C++成绩。注意成绩有可能会有小数。
输出格式
输出两行,第一行输出平均成绩最高的学生姓名。第二行输出平均成绩最低的学生姓名
样例输入
2
yx1 1 45 67 87
yx2 2 88 90 99
样例输出
yx2
yx1
import java.util.Scanner;
public class _16 {
public static void main(String[] args) { //姓名 学号
double yy,sx,c,avg; //英语、数学、c++成绩 平均分
String max="",min=""; //最高分 最低分
double maxs = Integer.MAX_VALUE;
double mins = Integer.MIN_VALUE;
Scanner s = new Scanner(System.in);
int n = s.nextInt(); //学生人数
for (int i = 0; i < n; i++) {
String name = s.next();
String id = s.next();
yy = s.nextDouble();
sx = s.nextDouble();
c = s.nextDouble();
avg = (yy + sx + c)/3;
if(maxs<avg)
{
max = name;
maxs = avg;
}
if(mins>avg)
{
min = name;
mins = avg;
}
}
System.out.println(max);
System.out.println(min);
}
}