首页 > 代码库 > 【HDU4802】GPA C++语法基础题(真是瞎了)

【HDU4802】GPA C++语法基础题(真是瞎了)

#include <stdio.h>
int main()
{
	puts("转载请注明出处谢谢");
	puts("http://blog.csdn.net/vmurder/article/details/43449913");
}


看题意的时间远比写的时间长?

估计是bestcoder某round 的T1?

我要写的不是4810么?……


题意:

多组数据,每组输入n次成绩ci、leveli

然后每个leveli都是个字符串,都对应一个分数si,


然后照下面式子输出

技术分享

什么?你问我题解?上面的题意就是题解!

代码:

#include <map>
#include <string>
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#define N 100
#define eps 1e-5
using namespace std;

map<string,double>M;
double s,sum1,sum2;
string level;
int n;
void init()
{
	M["A"]=4.0;
	M["A-"]=3.7;
	M["B+"]=3.3;
	M["B"]=3.0;
	M["B-"]=2.7;
	M["C+"]=2.3;
	M["C"]=2.0;
	M["C-"]=1.7;
	M["D"]=1.3;
	M["D-"]=1.0;
	M["F"]=0;
}
int main()
{
	freopen("test.in","r",stdin);
	init();	

	int i,j,k;
	while(scanf("%d",&n)!=EOF)
	{
		sum1=sum2=0;
		while(n--)
		{
			cin>>s>>level;
			if(level=="P"||level=="N")continue;
			sum1+=s*M[level];
			sum2+=s;
		}
		if(sum2<eps)puts("0.00");
		else printf("%.2lf\n",sum1/sum2);
	}
	return 0;
}


【HDU4802】GPA C++语法基础题(真是瞎了)