水题
#include <cstdio> #include <cstring> using namespace std; int main() { int n; int c,sum1; double sum2; char str[10]; while(scanf("%d",&n)!=EOF) { int i; sum1=sum2=0; for(i=1;i<=n;i++) { scanf("%d %s",&c,str); sum1+=c; int len=strlen(str); if(str[0]==‘A‘) { if(len==1) sum2+=4*c; else sum2+=3.7*c; } if(str[0]==‘B‘) { if(len==1) sum2+=3.0*c; else if(str[1]==‘+‘) sum2+=3.3*c; else sum2+=2.7*c; } if(str[0]==‘C‘) { if(len==1) sum2+=2.0*c; else { if(str[1]==‘+‘) sum2+=2.3*c; if(str[1]==‘-‘) sum2+=1.7*c; } } if(str[0]==‘D‘) { if(len==1) sum2+=1.3*c; else sum2+=1.0*c; } if(str[0]==‘P‘||str[0]==‘N‘) sum1-=c; } if(sum2==0) printf("0.00\n"); else printf("%.2lf\n",sum2/(1.0*sum1)); } return 0; }
原文:http://www.cnblogs.com/vermouth/p/3835961.html