我想说STL会上瘾,省时省心,自从知道以后一直用现在几乎每个题都在用。
真的上瘾了,只要用得上,基本都会用,,,,,谁来救救我。。。
一道没有难度的题目,读懂题意都能做。就是有个权值算个数。。。
9926744 | 2014-01-05 21:24:46 | Accepted | 4802 | 15MS | 288K | 700 B | C++ | try it |
#include<stdio.h>
#include<map>
#include<string>
using namespace std;
int main()
{
int n,all,mak;
double gpa;
char a[3];
int i,j;
map<string ,double> ma;
ma["A"]=4.0;
ma["A-"]=3.7;
ma["B+"]=3.3;
ma["B"]=3.0;
ma["B-"]=2.7;
ma["C+"]=2.3;
ma["C"]=2.0;
ma["C-"]=1.7;
ma["D"]=1.3;
ma["D-"]=1.0;
ma["F"]=0;
while(scanf("%d",&n)!=EOF)
{
gpa=0;
all=0;
while(n--)
{
scanf("%d%s",&mak,a);
if(ma.find(a)!=ma.end())
all+=mak,gpa+=ma[a]*mak;
}
if(gpa!=0)gpa/=all;
printf("%.2f\n",gpa);
}
return 0;
}