#include<cstdio> #include<iostream> #include<vector> using namespace std; /*北京大学对本科生的成绩施行平均学分绩点制(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)。*/ struct CJ{ int credit;//学分 int score;//单门课成绩 }; int main() { int n=0; cin>>n; CJ cj[n]; float gpa[100]={0.0};//单门绩点 float sumgpa=0; //绩点和 int sum=0;//总学分 for(int i=0;i<n;i++) { cin>>cj[i].credit; sum=sum+cj[i].credit; } for(int i=0;i<n;i++) { cin>>cj[i].score; if(cj[i].score>=90&&cj[i].score<=100)gpa[i]=4*cj[i].credit; if(cj[i].score>=85&&cj[i].score<=89)gpa[i]=3.7*cj[i].credit; if(cj[i].score>=82&&cj[i].score<=84)gpa[i]=3.3*cj[i].credit; if(cj[i].score>=78&&cj[i].score<=81)gpa[i]=3*cj[i].credit; if(cj[i].score>=75&&cj[i].score<=77)gpa[i]=2.7*cj[i].credit; if(cj[i].score>=72&&cj[i].score<=74)gpa[i]=2.3*cj[i].credit; if(cj[i].score>=68&&cj[i].score<=71)gpa[i]=2*cj[i].credit; if(cj[i].score>=64&&cj[i].score<=67)gpa[i]=1.5*cj[i].credit; if(cj[i].score>=60&&cj[i].score<=63)gpa[i]=1*cj[i].credit; sumgpa=sumgpa+gpa[i]; } float t=sumgpa/sum; printf("%.2f",t); return 0; }