链接: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\n");
		else 
			printf("%.2lf\n",sum1/sum2);
	}
	return 0;
}