绩点计算(C语言)

某大学的GPA(绩点)计算规则如下:

课程百分制成绩90分对应绩点4.0,超过90分的,按90分计;如不足90分,则课程绩点 = 4.0 * 分数/90。
学生综合绩点按该生已修的各门课程绩点结合学分加权平均而得。
现有步步同学入学后的已修课程(共5门)成绩表如下,请编程计算其GPA。

输入格式:

第1门课程百分制分数 学分

第2门课程百分制分数 学分

第3门课程分制分数 学分

第4门课程百分制分数 学分

第5门课程百分制分数 学分

说明:百分制分数和学分均为整数。

输出格式:

请参考输出样例。其中,GPA值保留两位小数。

输入样例:

78 3
91 5
65 4
95 3
60 2

输出样例:

GPA:3.49

参考代码: 

#include<stdio.h>
int main(){
    int score,credit;
    float GPA,sum;
    int sum_credit;
    for(int i = 1;i < 6;i ++){
        scanf("%d %d",&score,&credit);
        if(score<90){
            GPA=4.0*score/90;
        }
        else{
            GPA=4.0;
        }
        sum+=GPA*credit;
        sum_credit+=credit;
    }
    printf("GPA:%.2f\n",sum/sum_credit);
    return 0;
}

### PTA C语言计算学生绩点题目解法 在PTA平台上,计算学生绩点的题目通常涉及输入学生的成绩数据,并根据特定规则计算绩点。以下是基于C语言实现的一种通用解法[^1]。 #### 问题描述 假设题目要求输入若干学生的课程成绩百分制),然后根据以下规则成绩转换为绩点: - 成绩 >= 90: 绩点4.0 - 85 <= 成绩 < 90: 绩点为3.7 - 80 <= 成绩 < 85: 绩点为3.3 - 75 <= 成绩 < 80: 绩点为3.0 - 70 <= 成绩 < 75: 绩点为2.7 - 65 <= 成绩 < 70: 绩点为2.3 - 60 <= 成绩 < 65: 绩点为2.0 - 成绩 < 60: 绩点0.0 最后输出所有学生的平均绩点。 #### 示例代码 以下是用C语言实现的代码示例: ```c #include <stdio.h> double scoreToGPA(int score) { if (score >= 90) return 4.0; else if (score >= 85) return 3.7; else if (score >= 80) return 3.3; else if (score >= 75) return 3.0; else if (score >= 70) return 2.7; else if (score >= 65) return 2.3; else if (score >= 60) return 2.0; else return 0.0; } int main() { int n, score; double totalGPA = 0.0; scanf("%d", &n); // 输入学生人数 for (int i = 0; i < n; i++) { scanf("%d", &score); // 输入每个学生的成绩 totalGPA += scoreToGPA(score); // 累加绩点 } if (n > 0) { printf("%.2f\n", totalGPA / n); // 输出平均绩点,保留两位小数 } else { printf("0.00\n"); // 如果没有学生,输出0.00 } return 0; } ``` 上述代码通过函数`scoreToGPA`实现了成绩绩点的转换逻辑,并在主函数中完成对所有学生的绩点计算和平均值输出[^1]。 #### 注意事项 - 在实际编程时,需确保输入数据的合法性,例如学生成绩应在0到100之间。 - 根据题目具体要求,可能需要调整绩点转换规则或输出格式。 - 如果题目要求处理更多的输入细节(如学号、姓名等),可以扩展程序结构,增加相应的变量存储和输出。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tlanfi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值