【PAT】——【四舍五入】1077 互评成绩计算(待补充)

该文章提供了一道编程题的详细解答,包括题目描述、样例、解题思路和C++代码实现。重点在于处理分数除法时的四舍五入,使用round()函数进行精确计算,并在计算平均分时避免除以n-1,而是除以有效数据的数量。
摘要由CSDN通过智能技术生成

目录

一【题目描述】

二【题目样例】

三【解题思路】

四【代码实现】


一【题目描述】

二【题目样例】

 

三【解题思路】

  • 注意分数除法时前面double型要*1.0 转换double

 如何实现四舍五入:
1.round()函数 注意返回值是整数

C/C++ round 函数 - C语言零基础入门教程_猿说编程的博客-CSDN博客

四【代码实现】

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<math.h> 
using namespace std;
int main(){
	int n,m;
	scanf("%d %d",&n,&m);
	for(int i=0;i<n;i++){
			int g1=0;	//老师分数 
			int sum=0; //互评总分 
			int count=0;//合法的互评 
			int max=0;
			int min=m; 
		for(int j=0;j<n;j++){
			int score;
			scanf("%d",&score);
			if(score>=0&&score<=m) {
					if(j==0) g1=score;
					else {sum+=score;
						  count++;
						  if(score>max)max=score;
						  if(score<min)min=score;
					}
			}
		}
		 double g2=1.0*(sum-max-min)/(count-2);  //不除以n-1,除count 
		 printf("%d\n",(int)round(1.0*(g2+g1)/2));
	}
	
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值