用Java写PTA 7-5 成绩录入时的及格与不及格人数统计

用Java写PTA 7-5 成绩录入时的及格与不及格人数统计
编写一个程序进行一个班某门课程成绩的录入,能够控制录入成绩总人数,对录入成绩统计其及格人数和不及格人数。设计一个异常类,当输入的成绩小0分或大于100分时,抛出该异常类对象,程序将捕捉这个异常对象,并调用执行该异常类对象的toString()方法,该方法获取当前无效分数值,并返回一个此分数无效的字符串。

输入格式:
从键盘中输入学生人数n

从键盘中输入第1个学生的成绩

从键盘中输入第2个学生的成绩

从键盘中输入第n个学生的成绩

(注:当输入的成绩无效时(即分数为小于0或大于100)可重新输入,且输出端会输出此分数无效的提醒。)

输出格式:
显示及格总人数

显示不及格总人数

输入样例:
在这里给出一组输入。例如:

3
100
30
60
输出样例:
在这里给出相应的输出。例如:

2
1
输入样例:
在这里给出一组输入。例如:

2
200
69
30
输出样例:
在这里给出相应的输出。例如:

200invalid!
1
1

import java.util.Scanner;

class MyException extends Exception {
	private int n;

	MyException(int n) {
		this.n = n;
	}

	public String toString() {
		return n + "invalid!";
	}

}

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int m = sc.nextInt();
		int count1 = 0;
		int count2 = 0;
		for (int i = 0; i < m; i++) {
			
				int n = sc.nextInt();
				if (n < 0 || n > 100) {
					i--;
					try {
					throw new  MyException(n);
					}
				
			
				catch (MyException e) {
					System.out.println(e.toString());
// 					continue;

				}
				} 
				else if (n >= 60)
					{count1++;}
				else 
					{count2++;}

			

		}
		System.out.println(count1);
		System.out.println(count2);

	}
}

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: 这个问题乍一看很难懂,实际上是在问:如何统计一批学生的平均成绩,而且不含有格外的人数(例如缺考、退课)? 答案就是使用“平均数”这个概念,但是要去掉那些无效的数据。如果是计算班级的平均成绩,就将缺考、退课的学生排除在外。如果是计算整个学校的平均成绩,就要将所有班级的无效数据一起去掉。 ### 回答2: 假设有一批学生共有n名,他们的成绩分别为s1, s2, ..., sn。我们可以通过求和s1+s2+...+sn,再除以n,得出这批学生的平均成绩。具体公式为: 平均成绩 = (s1+s2+...+sn) / n 如果要求这批学生中不及格人数,我们需要先确定什么标准算是不及格。一般来说,考试成绩低于60分就算是不及格。所以我们可以遍历每一个学生的成绩统计出低于60分的人数,具体算法步骤如下: 1. 初始化不及格人数变量fail为0 2. 遍历每一个学生的成绩,如果小于60分,就让fail变量加1 3. 最后fail就是这批学生中的不及格人数 具体的伪代码如下: fail = 0 for i in range(n): if score[i] < 60: fail += 1 综合起来,我们可以出如下的Python代码来求解这个问题: # 输入一批学生的成绩 scores = input().split() # 将成绩转换为数字类型 scores = [float(s) for s in scores] # 计算平均成绩 avg_score = sum(scores) / len(scores) # 统计不及格人数 fail = 0 for score in scores: if score < 60: fail += 1 # 输出结果 print('平均成绩:{:.2f}, 不及格人数:{}'.format(avg_score, fail)) 当然,这只是一个简单的示例代码,实际应用中可能需要考虑更多的特殊情况,例如输入数据的格式错误、数据量过大等。但是这个代码可以作为一个基础模板来进行扩展和优化。 ### 回答3: 如何计算一批学生的平均成绩不及格人数? 在统计学中,平均数和频数是最基本的概念。平均数是指一组数的总和除以这组数的个数,即平均值=总和÷个数。而频数则是指在一组数据中出现某个数值的次数。因此,我们可以通过以下方法来计算一批学生的平均成绩不及格人数: 1. 首先,确定一批学生的成绩数据。可以是一组整数、小数或百分数,也可以是一个数据表格或电子表格。 2. 计算这批学生的平均成绩。将所有学生成绩加起来,然后除以学生的数量,就可以得到平均成绩。 例如,假设班里有30名学生,他们的成绩分别是:70、80、90、60、50、75、85、95、65、55、80、75、90、85、70、60、80、75、85、90、95、60、70、80、85、90、75、65、50、60。则这批学生的平均成绩为: (70+80+90+60+50+75+85+95+65+55+80+75+90+85+70+60+80+75+85+90+95+60+70+80+85+90+75+65+50+60) ÷ 30 = 76.5 因此,这批学生的平均成绩为76.5。 3. 计算不及格人数不及格通常是指成绩低于60分的学生。因此,我们只需统计这批学生中有多少人的成绩低于60分即可。 例如,这批学生中成绩低于60分的有10人,则不及格人数为10人。 以上就是计算一批学生的平均成绩不及格人数的基本方法。当然,在实际统计过程中还有很多细节需要注意,例如对数据进行清洗、去除异常值、使用不同的平均数计算方法等等,这些都需要根据具体情况来选择使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

এ᭄南书ོꦿృ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值