题解 | 学分绩点

学分绩点

https://www.nowcoder.com/practice/a0c09a7e0da04e728810a8aca7226b7b

#include <functional>
#include <iostream>
#include<vector>
#include<sstream>
#include<string>
using namespace std;

const int N = 11;
double all[2][N];


double initgpa(int score) {
    if (90 <= score && score <= 100)return 4.0;
    else if (85 <= score && score <= 89)return 3.7;
    else if (82 <= score && score <= 84)return 3.3;
    else if (78 <= score && score <= 81)return 3.0;
    else if (75 <= score && score <= 77)return 2.7;
    else if (72 <= score && score <= 74)return 2.3;
    else if (68 <= score && score <= 71)return 2.0;
    else if (64 <= score && score <= 67)return 1.5;
    else if (60 <= score && score <= 63)return 1.0;
    else return 0;
}
int main() {
    int n;
    cin >> n;

    int sumcredit = 0;
    for (int i = 0; i < n; i++) {
        cin >> all[0][i];
        sumcredit += all[0][i];
    }
    for (int i = 0; i < n; i++) {
        int tmp;
        cin >> tmp;
        all[1][i] = initgpa(tmp);
        /*cout << "gpa:" << initgpa(tmp) << ' ';*/
    }
    double res = 0;
    for (int i = 0; i < n; i++) {
        res += all[0][i] * all[1][i];
    }
    res = res / sumcredit;
    printf("%.2lf", res);
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

吴offer选手:学到了,下次面试也放张纸在电脑上,不然老是忘记要说哪几个点
点赞 评论 收藏
分享
04-22 15:13
已编辑
Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务