7-5 评委打分分数(答案附注释)java

Java程序解决智力竞赛分数计算
这篇文章描述了一个Java程序,用于模拟一场智力竞赛中的评委打分过程。参赛者初始分数和根据题目给出的加分规则进行计算,最后输出每位选手的最终得分。

原题

7-5 评委打分

分数 10

作者 翁恺

单位 浙江大学

班级里要搞智力竞赛啦!同学们都踊跃参加。进入最后决赛的是10个同学,随着一道道题目的出示,有时是1号选手得分,有时是5号选手得分,每次答对者得10分,最后结果如何呢?

输入格式:

第一行有十个整数,表示十位同学的初始分。第二行一个整数n,表示有n道题竞赛。
接下去有n行,每行有一个数字x,x表示本次可以加分的选手序号(每次答对者得10分)。

输出格式:

10个同学最终的得分值,每两位同学之间有一个空格。

输入样例:

10 0 0 0 10 10 0 0 0 10
3
1
10
1

输出样例:

30 0 0 0 10 10 0 0 0 20

答案

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int[] scores = new int[10]; // 创建一个长度为10的整型数组来存储每位同学的分数
        
        // 读取每位同学的初始分数
        for (int i = 0; i < 10; i++) {
            scores[i] = sc.nextInt();
        }
        
        int n = sc.nextInt(); // 读取题目的数量
        // 根据题目给出的加分情况,依次读取每次可以加分的选手序号,并将对应选手的分数加10
        for (int i = 0; i < n; i++) {
            int x = sc.nextInt();
            scores[x-1] += 10;
        }
        
        // 遍历整个数组,输出每位同学的最终得分值,并在每两位同学之间输出一个空格
        for (int i = 0; i < 10; i++) {
            System.out.print(scores[i]);
            if (i != 9) {
                System.out.print(" ");
            }
        }
        
        sc.close();
    }
}
请用JAVA语言ACM模式进行编程(逐行注释),并给出解题思路【题目描述 一个有N个选手参加比赛,选手编号为1-N(3≤N≤100),有M(3sM=10)评委对选手进行打分打分规则为每个评委对选手打分,最高分10分,最低分1分。请计算得分最多的3位选手的编号。如果得分相同,则得分高分值最多的选手排名靠前(10分数量相同,则比较9分的数量,以此类推,用例中不会出现多个选手得分完全相同的情况)。输入描述 第一行为半角逗号分割的两个正整数,第一个数字表示M(3sM≤10)评委,第二个数字表示N(3≤N≤100)个选手。第2到M+1行是半角逗号分割的整数序列,表示评委为每个选手的打分,0号下标数字表示1号选手分数,1号下标数字表示2号选手分数,依次类推。输出描述选手前3名的编号。注:若输入为异常,输出-1,如M、N、打分不在范围内。 示例1输入4,5 10.6 9.7.69,10.6,7,58 10.6 510 9.10.8 4.9输出2,1,5说明 第一行代表有4个评委5个选手参加比赛矩阵代表是4*5,每个数字是选手的编号,每一行代表个评委对选手的打分排序,2号选手得分36分排第1,1号选手36分排第2,5号选手30分(2号10分值有3个,1号10分值只有1个,所以2号排第一) 示例2输入2,5 7.3,5,4,28,5,4,4,3输出 -1 说明 只有2个评委,要求最少为3个评委示例3输入4,28,5 5.610,48,9输出 -1 说明 只有2名选手参加,要求最少为3名示例4输入4,5 11,6,9,7,89,10,6,7,88,10,6,9,79,10,8,6,7输出 -1 说明 第一个评委给第一个选手打分11,无效分数
06-15
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值