链接:http://acm.hdu.edu.cn/showproblem.php?pid=1202
仔细看题:“每行有两个实型的数 s,p”...成绩和学分可以是小数
#include <stdio.h> int main() { double s,p; double sum1,sum2; int n,i,tp; while(scanf("%d",&n)!=EOF) { sum1=0;sum2=0; for(i=0;i<n;i++) { scanf("%lf%lf",&s,&p); if(p==-1) continue; else { sum2+=s; tp=(int) (p/10); if(tp<6) sum1+=0; if(tp==6) sum1+=s; if(tp==7) sum1+=(2*s); if(tp==8) sum1+=(3*s); if(tp==9) sum1+=(4*s); } } if(sum2==0) printf("-1 "); else printf("%.2lf ",sum1/sum2); } return 0; }