问题描述
  输入A,B两人的学分获取情况,输出两人GPA之差。
输入格式
  输入的第一行包含一个整数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的非负整数
 
 
大晚上不能写题,到点就该睡。。。又钻牛角尖了,一道简单题写了两个小时。。。我弱智了。。。
不 我要甩锅  想到1e-6然后交了无数遍都不行
结果心里告诉自己有可能想复杂了 回去看题 发现精确度并没有那么高  0.01就行
好的 我还是弱智了一把
两个小时看电影他不香吗???
 
 #include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring> using namespace std;
double gpa[]; int main(){
int n, p, cnt = ; for(int j = ; j < ; j++){
double ans1 = , ans2 = ;
cin >> n;
for(int i = ; i < n ; i++){
char q[];
scanf("%d %s", &p, q); if(q[] != 'P' && q[] != 'N'){
int aa = ;
for(int k = ; k < ; k++){
if(q[k] >= '' && q[k] <= ''){
int tt = q[k] - '';
aa = aa * + tt;
}
}
ans1 += p * aa;
ans2 += p;
}
}
gpa[j] = ans1 / ans2;
} double res = gpa[] - gpa[];
if(res >= 0.01 || res <= -0.01) printf("%.2lf\n", res);
else cout << "0.00" << endl; return ;
}

最新文章

  1. Logstash实践: 分布式系统的日志监控
  2. 【生活没有希望】poj1273网络流大水题
  3. js模版引擎handlebars.js实用教程——each-循环中使用this
  4. 循序渐进开发WinForm项目(1) --数据库设计和项目框架的生成
  5. Linux_DHCP服务搭建
  6. 布置theano(Ubuntu14.04 LTS)
  7. 使用磁盘为Linux添加swap
  8. Java学习笔记(四):流程控制
  9. BZOJ 1024: [SCOI2009]生日快乐 dfs
  10. js中的访问器属性中的getter和setter函数实现数据双向绑定
  11. 在Sql Server Intergration Service中设置Catalog下所部署所有项目的参数值
  12. Servlet配置
  13. 20165230 学习基础和C语言基础调查
  14. Innodb中的行锁与表锁
  15. Python自动化开发 - 网络编程
  16. python dict 和 json 互转
  17. What-are-P-NP-NP-complete-and-NP-hard
  18. MongoDB(课时3 MongoDB基本操作)
  19. 【Laravel】Mac下玩转Laravel
  20. jdbc预编译插入数据操作

热门文章

  1. Python 常用编码规范
  2. React的第二种使用方法----脚手架方式
  3. chosen.jquery.min.js select2.js 弊端
  4. 分布式应用程序协调服务 ZooKeeper
  5. LightOJ1220
  6. Keyboard Shortcuts Reference
  7. 5.CSS的引入方式
  8. Java中的集合(二)单列集合顶层接口------Collection接口
  9. 逃离CSDN
  10. PHP常量和数据类型