1 条题解
-
0
C :
#include<stdio.h> float switchgoal(int n) { float num=0.0; if(n>=90) num=4.0; else if(n>=85) num=3.7; else if(n>=82) num=3.3; else if(n>=78) num=3.0; else if(n>=75) num=2.7; else if(n>=72) num=2.3; else if(n>=68) num=2.0; else if(n>=64) num=1.5; else if(n>=60) num=1.0; return num; } int main() { int n; int a[10]; int b[10]; float c[10]; float m; float sum; int k; int i,j; while(scanf("%d",&n)!=EOF) { k=0; for(i=0;i<n;i++) { scanf("%d",&a[i]); k+=a[i]; } for(i=0;i<n;i++) { scanf("%d",&b[i]); m=switchgoal(b[i]); c[i]=m; } sum=0; for(i=0;i<n;i++) sum+=a[i]*1.0*c[i]; printf("%.2f\n",sum/(k*1.0)); } return 0; }
C++ :
#include <stdio.h> #include <stdlib.h> int main() { int n, i, xufen; int credit[11]; int score[11]; double gpai, count; while(scanf("%d",&n) != EOF) { count = 0.00; xufen = 0; //获取学分 for(i = 0; i < n; i ++) { scanf("%d",credit + i); xufen += credit[i]; } //获取实际得分 for(i = 0; i < n; i ++) { scanf("%d",score + i); if(score[i] <= 100 && score[i] >= 90) { count += 4.0 * credit[i]; }else if(score[i] <= 89 && score[i] >= 85) { count += 3.7 * credit[i]; }else if(score[i] <= 84 && score[i] >= 82) { count += 3.3 * credit[i]; }else if(score[i] <= 81 && score[i] >= 78) { count += 3.0 * credit[i]; }else if(score[i] <= 77 && score[i] >= 75) { count += 2.7 * credit[i]; }else if(score[i] <= 74 && score[i] >= 72) { count += 2.3 * credit[i]; }else if(score[i] <= 71 && score[i] >= 68) { count += 2.0 * credit[i]; }else if(score[i] <= 67 && score[i] >= 64) { count += 1.5 * credit[i]; }else if(score[i] <= 63 && score[i] >= 60) { count += 1.0 * credit[i]; }else { count += 0 * credit[i]; } } //求gpa printf("%.2lf\n",count / xufen); } return 0; }
- 1
信息
- ID
- 1398
- 时间
- 1000ms
- 内存
- 32MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者