hdu 1202

来源:互联网 发布:金思维网络 编辑:程序博客网 时间:2024/06/03 20:43

主题思想 坑主要在于,输入的学分可能是0 ,如果所有的学分都是0,即学分和为0的话,则认为是没有GPA 输出-1
AC代码:

#include <iostream>#include<cstdio>using namespace std;double getGPA(double score){    if(score>=90) return 4.0;    else if(score>=80) return 3.0;    else if(score>=70) return 2.0;    else if(score>=60) return 1.0;    else return 0;}const double eps=1e-8;int main(){    int n;    double s,p;    double  ss;    double  pp;    int flag=-1;    while(scanf("%d",&n)!=EOF){        flag=-1;        ss=0;        pp=0;        for(int i=0;i<n;i++){            scanf("%lf%lf",&s,&p);            if(p+1<eps)continue;            else flag=1;            ss+=s;            pp+=s*getGPA(p);        }        double ans=pp/ss;        if(flag==-1||ss==0){            printf("-1\n");        }else            printf("%.2lf\n",ans);    }    return 0;}
原创粉丝点击