没写的了 就随便写写,这是一道大大的水题,wa了两次 ,太丢人了!!!!
#include<stdio.h> double fun(double x) { if(x >= 90 && x <= 100) return 4; else if(x >= 80 && x <90) return 3; else if(x >= 70 && x < 80) return 2; else if(x >= 60 && x < 70) return 1; else return 0; } int main() { int n,i; double s,p,ss,sp; while(scanf("%d",&n) != EOF) { ss = 0; sp = 0; int f = 1; for(i = 0;i < n;i++) { scanf("%lf %lf",&s,&p); if(p == -1.0) continue; f = 0; ss += s; sp += fun(p) * s; } if(f || ss == 0.0) // 注意当ss为0的时候是没办法出结果的(除数不能为0),我就在这wa了一次 printf("-1\n"); else printf("%.2lf\n",sp / ss); } return 0; }
至于另外一次wa就更丢人了,就不说了,弱爆了。