现在的位置: 首页 > 综合 > 正文

1778 学分绩点和

2012年07月23日 ⁄ 综合 ⁄ 共 795字 ⁄ 字号 评论关闭

 

描述

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

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

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

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

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

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

而体育必修(及体育课外)的优、良、中、及格、不及格的绩点分别对应1.51.31.11.00

由于成绩是各科老师给的,每科成绩最终出来的时间通常是不同的。某时间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;
}

 

 

抱歉!评论已关闭.