第七章第一题(指定等级)(Assign grades) - 编程练习题答案

(指定等级)编写一个程序,读入学生成绩,获取最髙分best, 然后根据下面的规则陚等级值

• 如果分数>=best-10, 等级为A

• 如果分数>=best-20, 等级为B

• 如果分数>=best-30, 等级为C

• 如果分数>=卜68140, 等级为D

• 其他情况下,等级为F

程序提示用户输入学生总数,然后提示用户输入所有的分数,最后显示等级得出结论。下面

是一个运行示例:

(Assign grades) Write a program that reads student scores, gets the best score, and
then assigns grades based on the following scheme:

Grade is A if score is >= best -5

Grade is B if score is >= best -10;

Grade is C if score is >= best -15;

Grade is D if score is >= best -20;

Grade is F otherwise.

The program prompts the user to enter the total number of students, and then
prompts the user to enter all of the scores, and concludes by displaying the grades.

Here is a sample run:

Enter the number of students: 4
Enter 4 scores: 40 55 70 58
Student 0 score is 40 and grade is C
Student 1 score is 55 and grade is B
Student 2 score is 70 and grade is A
Student 3 score is 58 and grade is B

下面是参考答案代码:

// https://cn.fankuiba.com
import java.util.Arrays;
import java.util.Scanner;


public class Ans7_1_page235 {
    public static void main(String[] args) {
        String[] grade = {"A","B","C","D","F"};
        Scanner input = new Scanner(System.in);
        System.out.print("Enter the number of students: ");
        int number = input.nextInt();
        System.out.print("Enter " + number + " scores: ");

        int[] score = new int[number];
        for (int i = 0; i < number; i++)
            score[i] = input.nextInt();

        int[] scoreSort = new int[number];
        System.arraycopy(score,0,scoreSort,0,score.length);

        Arrays.sort(scoreSort);

        int maxSort = scoreSort[number-1];
        for (int i = 0; i < number; i++) {
            if (score[i] >= maxSort-10)
                System.out.println("Student " + i + " score is " + score[i] +
                        " and grade is " + grade[0]);
            else if (score[i] >= maxSort-20)
                System.out.println("Student " + i + " score is " + score[i] +
                        " and grade is " + grade[1]);
            else if (score[i] >= maxSort-30)
                System.out.println("Student " + i + " score is " + score[i] +
                        " and grade is " + grade[2]);
            else if (score[i] >= maxSort-40)
                System.out.println("Student " + i + " score is " + score[i] +
                        " and grade is " + grade[3]);
            else
                System.out.println("Student " + i + " score is " + score[i] +
                        " and grade is " + grade[4]);
        }
    }
}

适用Java语言程序设计与数据结构(基础篇)(原书第11版)Java语言程序设计(基础篇)(原书第10/11版)

发布在博客:(https://cn.fankuiba.com)

Java面试Offer直通车

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值