题解 | 学分绩点
学分绩点
https://www.nowcoder.com/practice/a0c09a7e0da04e728810a8aca7226b7b
#include <iostream> using namespace std; int main() { int n; int a[10]={0},b[10]={0}; while (scanf("%d",&n)!=EOF) { // 注意 while 处理多个 case int sum=0; float allscore=0; for(int i=0;i<n;i++){ scanf("%d",&a[i]); sum+=a[i]; } for(int i=0;i<n;i++){ scanf("%d",&b[i]); if(b[i]>=90)allscore+=a[i]*4.0; else if(b[i]>=85)allscore+=a[i]*3.7; else if(b[i]>=82)allscore+=a[i]*3.3; else if(b[i]>=78)allscore+=a[i]*3.0; else if(b[i]>=75)allscore+=a[i]*2.7; else if(b[i]>=72)allscore+=a[i]*2.3; else if(b[i]>=68)allscore+=a[i]*2.0; else if(b[i]>=64)allscore+=a[i]*1.5; else if(b[i]>=60)allscore+=a[i]*1.0; else allscore+=0; } printf("%.2f\n",allscore/sum); } } // 64 位输出请用 printf("%lld")