private static void testScore() {
// 假设 n 个人提交了作业,且其中原始得分最低的人记作 a_min,
// 原始得分最高的人记作 a_max, 第 i 个人的原始得分为 a_i,
// 那么第 i 个人的得分就是:
// 100 * (a_i - a_min ) / (a_max - a_min)
// 最终录入的成绩只能是整数,采用直接去掉小数部分的方法
// 输入格式:
// 第一行一个整数 n 表示人数
// 第二行共 n 个整数,为序列 a ,其中 a_i 表示第 i 个人的原始作业得分
// 输出格式:
// 一行,共 n 个整数,表示经过更新后每个人的得分
System.out.println("总人数 n = ");
int n = new Scanner(System.in).nextInt();
System.out.println("n 个人的原始作业得分分别为,以空格分隔: ");
String a = new Scanner(System.in).nextLine();
String[] aa = a.split(" ");
int[] res = new int[aa.length];
if(n != aa.length){
System.out.println("总人数 与 得分个数不等,请重新输入");
return;
}
for(int i = 0; i < aa.length; i++){
Integer j = StringUtilsUq.toIntegerObject(aa[i], 0);
res[i] = j;
}
Arrays.sort(res);
System.out.println("排序后:" + ArrayUtils.toString(res));
int min = res[0], max = res[res.length - 1];
for(int i = 0 ;i < res.length; i++) {
res[i] = 100 * (StringUtilsUq.toIntegerObject(aa[i], 0) - min) / (max - min);
}
System.out.println("最终得分:" + ArrayUtils.toString(res));
}
重新计算得分
最新推荐文章于 2024-07-08 11:50:32 发布
1437

被折叠的 条评论
为什么被折叠?



