学分绩点

北城以北 提交于 2020-02-10 21:23:59

描述
北京大学对本科生的成绩施行平均学分绩点制(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);)

样例输入
5
4 3 4 2 3
91 88 72 69 56
样例输出
2.52


```cpp
#include <iostream>
#include<iomanip>
using namespace std;
double jidian(double);
int main()
{
    int n;
    cin>>n;
    int a[10],b[10];
    int i;
    double s1=0.0,s2=0.0,GPA,m;
    for(i=0;i<n;i++)
        cin>>a[i];
    for(i=0;i<n;i++)
        cin>>b[i];
         for(i=0;i<n;i++)
        {
            m=a[i]*jidian(b[i]);
            s1=m+s1;
        }
        for(i=0;i<n;i++)
            s2=s2+a[i];
            GPA=s1/s2;
            cout<<setiosflags(ios::fixed)<<setprecision(2)<<GPA<<endl;
}
double jidian(double n)
{
    if(n>=90&&n<=100) return 4.0;
    if(n>=85&&n<=89) return 3.7;
    if(n>=82&&n<=84) return 3.3;
    if(n>=78&&n<=81) return 3.0;
    if(n>=75&&n<=77) return 2.7;
    if(n>=72&&n<=74) return 2.3;
    if(n>=68&&n<=71) return 2.0;
    if(n>=64&&n<=67) return 1.5;
    if(n>=60&&n<=63) return 1.0;
    if(n<60) return 0;
}
      

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!