题解 | #学分绩点#

学分绩点

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

#include <stdio.h>

float gpa(int n, float* xuefen, float* jidian) {
    float sum = 0, xuefensum = 0;
    for (int i = 0; i < n; i++) {
        sum += (xuefen[i] * jidian[i]);
        xuefensum += xuefen[i];
    }
    return sum / xuefensum;
}

int main() {
    int n;
    scanf("%d", &n);
    float xuefen[n], score[n], jidian[n];
    for (int i = 0; i < n; i++) {
        scanf("%f", &xuefen[i]);
    }
    for (int i = 0; i < n; i++) {
        scanf("%f", &score[i]);
    }
    for (int i = 0; i < n; i++) {
        if (score[i] >= 90) jidian[i] = 4.0;
        else if (score[i] >= 85) jidian[i] = 3.7;
        else if (score[i] >= 82) jidian[i] = 3.3;
        else if (score[i] >= 78) jidian[i] = 3.0;
        else if (score[i] >= 75) jidian[i] = 2.7;
        else if (score[i] >= 72) jidian[i] = 2.3;
        else if (score[i] >= 68) jidian[i] = 2.0;
        else if (score[i] >= 64) jidian[i] = 1.5;
        else if (score[i] >= 60) jidian[i] = 1.0;
        else  jidian[i] = 0;
    }
    printf("%.2f", gpa(n, xuefen, jidian));
    return 0;
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务