/*
* 需求:成绩处理
* 说明:输入学生的姓名和分数,按分数从高到低排序。
*
* */
package P0;
import java.util.*;
public class ScoreDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
final int n = 10;
String[] name = new String[n];
float[] score = new float[n];
System.out.println("请输入学生姓名:");
for(int i=0;i<n;i++)
{
Scanner sc = new Scanner(System.in);
name[i] = sc.next();
}
System.out.println("请输入学生成绩:");
for(int i=0;i<n;i++)
{
Scanner sc = new Scanner(System.in);
score[i] = sc.nextFloat();
}
System.out.println("排序前:");
for(int j=0;j<n;j++)
{
System.out.println(name[j]+":"+score[j]);
}
System.out.println("排序后:");
sort(score,name,n);
for(int j=0;j<n;j++)
{
System.out.println(name[j]+":"+score[j]);
}
}
public static void sort(float[] score,String[] name,int n)
{
float temp1 = 0;
String temp2;
//选择法
for(int i=0;i<n-1;i++)
for(int j=i+1;j<n;j++)
{
if(score[i]<score[j])
{
temp1 = score[i];
score[i] = score[j];
score[j] = temp1;
temp2 = name[i];
name[i] = name[j];
name[j] = temp2;
}
}
/*冒泡法
for(int i=0;i<n-1;i++)
for(int j=0;j<n-1-i;j++)
{
if(score[j]<score[j+1])
temp1 = score[j];
score[j] = score[j+1];
score[j+1] = temp1;
temp2 = name[j];
name[j] = name[j+1];
name[j+1] = temp2;
}
*/
}
}
成绩处理
最新推荐文章于 2022-11-14 20:23:07 发布