我想说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; }