平均绩点计算方法:(课程学分1*绩点+课程学分2*绩点+.....+课程学分n*绩点)/(课程学分1+课程学分2+….+课程学分n)用户循环输入五分制成绩和课程学分,题目测试数据保证至少有一组或以上合法数据输入。输入’-1’时结束输入,计算学生平均绩点
时间: 2023-09-02 11:09:41 浏览: 94
好的,这是一个计算学生平均绩点的问题,我可以帮你解答。
首先,你需要用一个循环语句来实现用户循环输入五分制成绩和课程学分的功能。每次循环,你需要提示用户输入成绩和学分,并将它们存储在相应的变量中。当用户输入-1时,你需要退出循环。
接下来,你需要根据用户输入的成绩,计算相应的绩点。根据题目要求,五分制成绩和绩点的对应关系如下:
成绩 | 绩点
---- | ----
5 | 4.3
4 | 4.0
3 | 3.0
2 | 2.0
1 | 1.0
0 | 0
然后,你需要根据计算公式,计算学生的平均绩点。具体来说,你需要将每门课程的课程学分乘以相应的绩点,然后将它们相加,再除以所有课程的学分之和。
最后,你需要输出学生的平均绩点。可以使用printf函数来实现。下面是一个C语言的示例代码,供你参考:
```c
#include <stdio.h>
int main() {
int score, credit, total_credit = 0;
double grade_point, total_grade_point = 0.0;
printf("请输入五分制成绩和课程学分(输入-1结束输入):\n");
while (1) {
scanf("%d", &score);
if (score == -1) {
break;
}
scanf("%d", &credit);
total_credit += credit;
switch (score) {
case 5:
grade_point = 4.3;
break;
case 4:
grade_point = 4.0;
break;
case 3:
grade_point = 3.0;
break;
case 2:
grade_point = 2.0;
break;
case 1:
case 0:
grade_point = 1.0;
break;
default:
printf("非法输入,请重新输入!\n");
continue;
}
total_grade_point += grade_point * credit;
}
if (total_credit == 0) {
printf("没有输入有效数据!\n");
} else {
double average_grade_point = total_grade_point / total_credit;
printf("学生的平均绩点为:%.2f\n", average_grade_point);
}
return 0;
}
```
希望这个解答能够帮助到你,如果还有其他问题,请随时提出。