用JAVA编写

用户输入若干个成绩【不超过100个】输入-1结束,统计总成绩,及格率,最高成绩并降序显示这些成绩

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Scanner;
public class $ {
public static void main(String args[]) {
Scanner in = new Scanner(System.in);
List<Double> data = new ArrayList<Double>();
while (true) {
System.out.println("输入成绩,退出:-1");
Double num = in.nextDouble();
if (num.intValue() == -1) {
break;
}
data.add(num);
}
System.out.println("总成绩:" + sum(data));
System.out.println("及格率:" + jige(data));
// 降序排序
Collections.sort(data, new Comparator<Double>() {
public int compare(Double o1, Double o2) {
return o2.compareTo(o1);
}
});
System.out.println("最高成绩:" + data.get(0));

for (Double d : data) {
System.out.println(d);
}
}
private static Double sum(List<Double> data) {
Double sum = 0.0;
for (Double d : data) {
sum += d;
}
return sum;
}
private static double jige(List<Double> data) {
double i = 0;
for (Double d : data) {
if (d >= 60) {
i++;
}
}
return i / data.size();
}
}

输入成绩,退出:-1

50

输入成绩,退出:-1

60

输入成绩,退出:-1

70

输入成绩,退出:-1

100

输入成绩,退出:-1

90

输入成绩,退出:-1

80

输入成绩,退出:-1

-1

总成绩:450.0

及格率:0.8333333333333334

最高成绩:100.0

100.0

90.0

80.0

70.0

60.0

50.0

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-27
import java.util.Arrays;
import java.util.Scanner;
public class Score {
public static void main(String[] args) {
double[] score = new double[100];
int count = 0;
double allscore = 0;
double passcount = 0;
Scanner sc = new Scanner(System.in);
double sco;
System.out.println("请输入不多于100个学生的成绩,输入-1退出:");
while ((sco = sc.nextDouble()) != -1) {
score[count++] = sco;
allscore += sco;
if (sco >= 60) {
passcount++;
}
}
score = Arrays.copyOf(score, count);
Arrays.sort(score);
System.out.println("总成绩为:" + allscore);
System.out.println("及格率为:" + ((int) (passcount / count * 10000))
/ 100.0 + "%");
System.out.println("降序输出学生的成绩:");
for (int i = score.length - 1; i >= 0; i--) {
System.out
.println("第" + (score.length - i) + "名:" + score[i] + "分");
}
}
}

输出如下:

请输入不多于100个学生的成绩,输入-1退出:

1

5

9

60

61

99

-1

总成绩为:235.0

及格率为:50.0%

降序输出学生的成绩:

第1名:99.0分

第2名:61.0分

第3名:60.0分

第4名:9.0分

第5名:5.0分

第6名:1.0分

第2个回答  2013-04-27
神么意思?