HDOJ 1202 The calculation of GPA

【思路】:模拟。

【注意】:题目要求的是实型。并且题目有没说清楚的地方,全部缺考和学分*点数为0这两种情况都算GPA不存在!

参考:http://blog.csdn.net/liuzhushiqiang/article/details/8603798

【AC代码】:

#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <iomanip>
using namespace std;

#define MAX 100

struct Course
{
    double s;
    double p;
};

int main()
{
    Course cour[MAX];
    int n = 0;
    while (cin >> n)
    {
        int i = 0;
        double tp = 0, t = 0;
        for (i = 0; i < n; i++)
            cin >> cour[i].s >> cour[i].p;
        for (i = 0; i < n; i++)
        {
            if (cour[i].p >= 90)
                t += 4*cour[i].s;
            else if (cour[i].p >= 80)
                t += 3*cour[i].s;
            else if (cour[i].p >= 70)
                t += 2*cour[i].s;
            else if (cour[i].p >= 60)
                t += 1*cour[i].s;
            if (cour[i].p != -1)
                tp += cour[i].s;
        }
        if (t!=0 && tp!=0)
            cout << fixed << setprecision(2) << t/tp << endl;
        else
            cout << -1 << endl;
    }
    return 0;
}
时间: 2024-10-12 17:29:53

HDOJ 1202 The calculation of GPA的相关文章

杭电 HDU 1202 The calculation of GPA

The calculation of GPA Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 21897    Accepted Submission(s): 5028 Problem Description 每学期的期末,大家都会忙于计算自己的平均成绩,这个成绩对于评奖学金是直接有关的.国外大学都是计算GPA(grade point

hdu 1202 The calculation of GPA

#include <stdio.h> int f(double x) { if(x>=90)return 4; else if(x>=80)return 3; else if(x>=70)return 2; else if(x>=60)return 1; else return 0; } int main(void) { int n;double cj,zjd,xf,zxf; while(scanf("%d",&n)!=EOF) { zxf=

(HDU)1202 -- The calculation of GPA (计算GPA)

题目:http://vjudge.net/problem/HDU-1202 分析:这题好坑爹啊,80 - 89 4点,让人情不自禁设置成80<=i<=89,那么89.5算不算呢?还有就是全部缺考的情况也需要考虑,除法要有意义. 1 #include <cstdio> 2 #include <cstring> 3 #include <cmath> 4 #include <iostream> 5 #include <algorithm>

1411052107-hd-The calculation of GPA

 The calculation of GPA Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 19932    Accepted Submission(s): 4576 Problem Description 每学期的期末,大家都会忙于计算自己的平均成绩,这个成绩对于评奖学金是直接有关的.国外大学都是计算GPA(grade poi

HDU1202 The calculation of GPA

The calculation of GPA Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 19000    Accepted Submission(s): 4391 Problem Description 每学期的期末,大家都会忙于计算自己的平均成绩,这个成绩对于评奖学金是直接有关的.国外大学都是计算GPA(grade point

【HDOJ 4968】 Improving the GPA

[HDOJ 4968] Improving the GPA 动态规划里的背包问题..比赛时候暴力做的 还好当时脑洞足... 暴力枚举 求最大值时初始n个成绩都为最大值所需的最小成绩–85 然后从第一个开始减 分数全都用掉时跳出 第一个减到60后第二个开始 以此类推 求最小值反向做即可 初始为最小值所需的最大成绩–64 背包方法 一维为当前成绩类数 二位为当前使用掉的分数(减去60 因为最小分为60 60之前都是无用空间) 初始dpmax -INF dpmin INF dpmax[0][0] =

HDU-1202-The calculation of GPA(恶心水题)

The calculation of GPA Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 21967    Accepted Submission(s): 5046 Problem Description 每学期的期末,大家都会忙于计算自己的平均成绩,这个成绩对于评奖学金是直接有关的.国外大学都是计算GPA(grade point

hdu 1202The calculation of GPA (简单题+坑)

The calculation of GPA Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 18748    Accepted Submission(s): 4331 Problem Description 每学期的期末,大家都会忙于计算自己的平均成绩,这个成绩对于评奖学金是直接有关的.国外大学都是计算GPA(grade point a

The calculation of GPA

Problem Description 每学期的期末,大家都会忙于计算自己的平均成绩,这个成绩对于评奖学金是直接有关的.国外大学都是计算GPA(grade point average) 又称GPR(grade point ratio),即成绩点数与学分的加权平均值来代表一个学生的成绩的.那么如何来计算GPA呢? 一般大学采用之计分法 A90 - 100 4 点 B80 - 89 3 点 C70 - 79 2 点 D60 - 69 1 点 E0 - 59 0 点 例如:某位学生修习三门课,其课目.