输入格式:
输入的第一行包含一个整数n表示A的课程数,以下n行每行Si,Ci分别表示第i个课程的学分与A的表现。
GPA=Σ(Si*Ci) / Σ(Si)。
特殊地,如果Ci是'P'或者'N'(对应于通过与不通过),则第i个课程不记入GPA的计算(即当其不存在)。
A读入结束后读入B,B的输入格式与A相同。
保证2人的Σ(Si)非零
输出格式:
输出A的GPA - B的GPA的值,保留2位小数(四舍五入)
Tips:当A和B的分数相近时输出0.00。
输入样例:
2
1 10
2 N
2
1 10
1 5
输出样例:
2.50
数据规模和约定
输入的所有数字均为不超过100的非负整数
完整代码如下:
#include<stdio.h>
#include<string.h>
#include<math.h>
int main(){
int n,m=0,i,j,t=0,flag=1;
double count=0.0,sum=0.0;
double c[2];
int p;
char b[3];
for(i=0;i<2;i++){
double count=0.0,sum=0.0;
scanf("%d",&n);
for(j=0;j<n;j++){
scanf("%d",&p);
scanf("%s",b);
if(b[0] != 'P' && b[0] != 'N'){
int a = 0;
for(int k = 0 ; k < 3 ; k++){
if(b[k] >= '0' && b[k] <= '9'){
int t = b[k] - '0';
a = a * 10 + t;
}
}
sum += p * a;
count += p;
}
}
c[i] = sum / count;
}
if(fabs(c[0]-c[1])>=0.01){
printf("%.2lf",c[0]-c[1]);
}else {
printf("0.00");
}
return 0;
}
欢迎交流o(* ̄▽ ̄*)ブ