1778 学分绩点和

  描述

学分绩点和是北京航空航天大学最终排名的主要依据,它的计算规则是每门必修课的学分乘以该门课获得的绩点。而每门课绩点的计算公式如下:

若成绩大于等于90分,则绩点记为1.5

若成绩大于等于80而小于90,则绩点记为1.3

若成绩大于等于70而小于80,则绩点记为1.1

若成绩大于等于60而小于70,则绩点记为1.0

若成绩小于60,则绩点记为0.0

而体育必修(及体育课外)的优、良、中、及格、不及格的绩点分别对应1.5、1.3、1.1、1.0和0

由于成绩是各科老师给的,每科成绩最终出来的时间通常是不同的。某时间sb.知道了自己若干科目的成绩,那么请你帮忙算算,他/她的平均绩点和是多少?

为了简化问题,这里不考虑体育课。

对了,忘了说,平均绩点和是保留两位小数的(四舍五入)。

输入

多组数据,第一行为数据组数T

对于每组数据,首先是一个数字N,表示sb.已经知道N科的成绩,接下来是N对实数Ai ,Bi分别为这N科的学分和sb.的成绩。

输出

对于每组数据,输出一行,为一个实数,表示sb.的平均绩点和。

解题思路:此题是一道模拟题,注意区间进行判断即可。最后将相应的绩点相加。

 

#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
	int number;
	double sum,c;
	int a,b;
	cin>>number;
	for(int i=0;i<number;i++)
	{
		int temp;
		sum=0;
		cin>>temp;
		for(int j=0;j<temp;j++)
		{
			cin>>a>>b;
			if(b>=90)
				c=1.5;
			else
			{
				if(b>=80)
					c=1.3;
				else
				{
					if(b>=70)
						c=1.1;
					else
					{
						if(b>=60)
							c=1.0;
						else
							c=0;
					}
				
				}
			}
          sum+=a*c;

			
		}

		printf("%.2lf\n",sum);

	}
	return 0;
}


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值