题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1202
C语言源码:
#include<stdio.h>
int main()
{
int n,i,num;
double s1,s2,p,gpa;
while(scanf("%d",&n)!=EOF)
{
s2=0;
gpa=0;
num=0;
for(i=1;i<=n;i++)
{
scanf("%lf%lf",&s1,&p);
s2+=s1;
if(p>=90)//分数有大于100的,坑爹
gpa+=4*s1;
else if(p>=80)//不能写p>=80&&p<=89,因为89-90之间的分数它就没法计算了
gpa+=3*s1;
else if(p>=70)
gpa+=2*s1;
else if(p>=60)
gpa+=1*s1;
else if(p>=0)
gpa+=0;
else//有可能有分数小于0的,都算缺考,坑爹
num++;
}
if(num==n||gpa==0)//要是某人全部不及格,按照题目的bug逻辑算全部缺考,输出-1,坑爹。
printf("-1\n");
else
printf("%.2lf\n",gpa/s2);
}
}//总体来说这题就是坑爹中的战斗机,战斗坑!