学分绩点
Posted zhuobo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学分绩点相关的知识,希望对你有一定的参考价值。
题目描述
北京大学对本科生的成绩施行平均学分绩点制(GPA)。既将学生的实际考分根据不同的学科的不同学分按一定的公式进行计算。 公式如下: 实际成绩 绩点 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.一门课程的学分绩点=该课绩点*该课学分 2.总评绩点=所有学科绩点之和/所有课程学分之和 现要求你编写程序求出某人A的总评绩点(GPA)。
输入描述:
第一行 总的课程数n(n<10);
第二行 相应课程的学分(两个学分间用空格隔开);
第三行 对应课程的实际得分;
此处输入的所有数字均为整数。
输出描述:
输出有一行,总评绩点,精确到小数点后2位小数。(printf("%.2f",GPA);)
#include <iostream>
using namespace std;
int main(){
int n;
int credit[10], grade[10];
while((cin >> n) && n != 0){
for(int i = 0; i < n; i++)
cin >> credit[i];
for(int i = 0; i < n; i++)
cin >> grade[i];
float sum = 0;
for(int i = 0; i < n; i++){
if(grade[i] >= 90 && grade[i] <= 100)
sum += (credit[i] * 4.0);
if(grade[i] >= 85 && grade[i] <= 89)
sum += (credit[i] * 3.7);
if(grade[i] >= 82 && grade[i] <= 84)
sum += (credit[i] * 3.3);
if(grade[i] >= 78 && grade[i] <= 81)
sum += (credit[i] * 3.0);
if(grade[i] >= 75 && grade[i] <= 77)
sum += (credit[i] * 2.7);
if(grade[i] >= 72 && grade[i] <= 74)
sum += (credit[i] * 2.3);
if(grade[i] >= 68 && grade[i] <= 71)
sum += (credit[i] * 2.0);
if(grade[i] >= 64 && grade[i] <= 67)
sum += (credit[i] * 1.5);
if(grade[i] >= 60 && grade[i] <= 63)
sum += (credit[i] * 1.0);
//if(grade[i] < 60)
// sum += 0;
}
int credit_sum = 0;
for(int i = 0; i < n; i++)
credit_sum += credit[i];
float GPA = sum / credit_sum;
printf("%.2f
", GPA);
}
return 0;
}
以上是关于学分绩点的主要内容,如果未能解决你的问题,请参考以下文章