题解 | #学分绩点#

学分绩点

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

#include <iomanip>
#include <iostream>
using namespace std;

int main() {
    int n;//总课程数
    float credit = 0.0, gpa = 0.0,GPA = 0.0;//分别代表学分、绩点和平均绩点
    int grade;//科目成绩
    while (cin >> n) { // 注意 while 处理多个 case
        float cre[n];
        int gra[n];
        //输入学分
        for (int i = 0; i < n ; i++){
            cin>>cre[i];
            credit += cre[i];
        }
        //输入成绩
        for (int i = 0; i < n ; i++){
            cin>>gra[i];
        }
        //计算平均绩点
        for (int i = 0; i < n ; i++){
            if (gra[i] >= 90 && gra[i] <= 100) gpa = 4.0;
            else if (gra[i] >= 85 && gra[i] <= 89) gpa = 3.7;
            else if (gra[i] >= 82 && gra[i] <= 84) gpa = 3.3;
            else if (gra[i] >= 78 && gra[i] <= 81) gpa = 3.0;
            else if (gra[i] >= 75 && gra[i] <= 77) gpa = 2.7;
            else if (gra[i] >= 72 && gra[i] <= 74) gpa = 2.3;
            else if (gra[i] >= 68 && gra[i] <= 71) gpa = 2.0;
            else if (gra[i] >= 64 && gra[i] <= 67) gpa = 1.5;
            else if (gra[i] >= 60 && gra[i] <= 63) gpa = 1.0;
            else gpa = 0.0;

            gpa = cre[i] * gpa;
            GPA += gpa;
        }
          
        cout << fixed << setprecision(2)<<GPA/credit<<endl;
       
    }
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务