用C语言实现:假设百分制课程成绩和4分制绩点对应计算方法如下: 90-100 4.0 ; 85-89 3.7 ; 82-84 3.3 ; 78-81 3.0 ; 75-77 2.7 ; 72-74 2.3 ; 68-71 2.0 ; 64-67 1.5 ; 60-63 1.0 ; 60分以下0 多门课程百分制成绩对应的学分加权平均绩点为: ((学分1* 绩点1)+(学分2* 绩点2)...)/(学分1+学分2...) 输入一个学生若干门课的百分制成绩和对应学分,输出该学生对应4分制加权平均绩点。 输入格式: 输入若干门课从百分制成绩和对应学分,以-1为结束记号 输出格式: 输出该学生的4分制加权平均绩点(保留2位小数)
时间: 2024-04-01 18:34:36 浏览: 143
C语言程序设计-输入2个学生3门课的成绩,计算学生成绩平均分,课程平均分和最高分.
5星 · 资源好评率100%
好的,以下是C语言代码实现:
```c
#include <stdio.h>
int main() {
int score, credit, sum_credit = 0;
float point, sum_point = 0;
while (1) {
scanf("%d", &score);
if (score == -1) break;
scanf("%d", &credit);
sum_credit += credit;
if (score >= 90 && score <= 100) point = 4.0;
else if (score >= 85 && score <= 89) point = 3.7;
else if (score >= 82 && score <= 84) point = 3.3;
else if (score >= 78 && score <= 81) point = 3.0;
else if (score >= 75 && score <= 77) point = 2.7;
else if (score >= 72 && score <= 74) point = 2.3;
else if (score >= 68 && score <= 71) point = 2.0;
else if (score >= 64 && score <= 67) point = 1.5;
else if (score >= 60 && score <= 63) point = 1.0;
else point = 0.0;
sum_point += point * credit;
}
printf("%.2f", sum_point / sum_credit);
return 0;
}
```
代码实现的思路是,使用while循环输入学生的成绩和对应学分,直到输入-1为止。对于每门课程的成绩,使用if语句判断对应的绩点,并将学分和绩点乘起来累加到总分和总学分中。最后输出总分除以总学分的结果,即为该学生的加权平均绩点。注意保留2位小数,使用printf函数的"%.2f"格式控制符即可。
阅读全文