Java,第二次作业——找出两个分数最高的学生
public static void f10()
{
System.out.println("请输入学生的个数");
Scanner input=new Scanner(System.in);
int num=input.nextInt();//num为学生的个数
if(num<2)
{
System.out.println("输入学生的个数过少");
System.exit(0);//结束程序
}
int i=0;
double[] grade_arr= new double[num];//创建成绩数组
String[] name_arr= new String[num];//创建名字数组
for(i=0;i<num;i++)
{
System.out.println("请输入第"+(i+1)+"学生的名字和分数");
String name=input.next();
double grade=input.nextDouble();
name_arr[i]=name;
grade_arr[i]=grade;
}
for(int j=0;j<grade_arr.length-1;j++)//将成绩从高到低排序(名字顺序随成绩变动)
{
for( i=0;i<grade_arr.length-1;i++)
{
if(grade_arr[i]<grade_arr[i+1])
{
double temp1=grade_arr[i];
grade_arr[i]=grade_arr[i+1];
grade_arr[i+1]=temp1;
String temp2=name_arr[i];
name_arr[i]=name_arr[i+1];
name_arr[i+1]=temp2;
}
}
}
if(grade_arr[0]==grade_arr[1])//判断前两名成绩是否相同
{
System.out.println(name_arr[0]+"和"+name_arr[1]+"的成绩均为 "+grade_arr[0]);
}
else
{
System.out.println("第一名同学的名字"+name_arr[0]+",他的成绩是 "+grade_arr[0]);
System.out.println("第二名同学的名字"+name_arr[1]+",他的成绩是 "+grade_arr[1]);
}
}