AcWing 3443. 学分绩点
原题链接
简单
作者:
上下四方
,
2025-01-08 12:21:44
,
所有人可见
,
阅读 1
#include <iostream>
#define N 100
using namespace std;
double pt[N],ge[N];
int main(){
int n; //科目数,学分,得分,绩点
scanf("%d",&n);
for(int i=0; i<n;i++){
scanf("%lf",&pt[i]);
}
for(int i=0; i<n;i++){
scanf("%lf",&ge[i]);
}
double val,sval;
for(int i=0;i<n;i++){
sval+=pt[i];
if(ge[i]>=90&&ge[i]<=100){
val=val+pt[i]*4.0;
}
else if(ge[i]>=85){
val=val+pt[i]*3.7;
}
else if(ge[i]>=82){
val=val+pt[i]*3.3;
}
else if(ge[i]>=78){
val=val+pt[i]*3.0;
}
else if(ge[i]>=75){
val=val+pt[i]*2.7;
}
else if(ge[i]>=72){
val=val+pt[i]*2.3;
}
else if(ge[i]>=68){
val=val+pt[i]*2.0;
}
else if(ge[i]>=64){
val=val+pt[i]*1.5;
}
else if(ge[i]>=60){
val=val+pt[i]*1.0;
}
else{
val=val+pt[i]*0;
}
}
printf("%.2f",val/sval);
return 0;
}