搜索
热搜: NOIP OIer 神牛
查看: 305|回复: 2

1071 药物实验

[复制链接]

主题

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2022-7-9 21:24:28 | 显示全部楼层 |阅读模式
本帖最后由 Ethan 于 2022-7-19 12:20 编辑

小奇的志向是成为一名医生,大学专业是医药学。某天课上做实验,实验内容是:传统药物是否比灭活疫苗效果更好。为了对比疗效,小奇采用了对照实验的方式进行。假设传统药物的有效率为x,灭活疫苗的有效率为y,如果x减y大于5%则效果更好,如果y减x大于5%则效果更差,其他情况效果相同。小奇做了n组对照实验,其中一组采用灭活疫苗,其它n-1组为各种不同方法的传统方法。

第一行为整数n(1<n≤20);其余n行每行两个整数,第一个整数是实验的组数(小于等于10000),第二个整数为有效的组数。
这n行数据中,第一行为灭活疫苗的数据,其余各行为传统药物的数据。

有n-1行输出,分别表示对应传统药物的效果:如果效果更好,输出better;如果效果更差,输出worse;否则输出same。


5
125 99
112 89
145 99
99 97
123 98



same
worse
better
same



本题即使编程完成,可能只有90分,请分析原因。
提示:浮点数计算精度问题。


入门 其他 循环结构

题解:


  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int main(){

  4.         int total,valid,num;
  5.         double a,b;
  6.         cin>>num;
  7.         cin>>total>>valid;
  8.         a=(double)valid/total*100;
  9.         for(int n=1;n<num;n++){
  10.                 cin>>total>>valid;
  11.                 b=(double)valid/total*100;
  12.                 if((b-a)>5)
  13.                     cout<<"better"<<endl;
  14.                 else if((a-b)>5)        
  15.                         cout<<"worse"<<endl;
  16.                 else        
  17.                         cout<<"same"<<endl;
  18.      }
  19.         return 0;
  20. }
复制代码

回复

使用道具 举报

主题

帖子

0

积分

新手上路

Rank: 1

积分
0
 楼主| 发表于 2022-7-10 10:19:10 | 显示全部楼层
抢沙发            
回复

使用道具 举报

主题

帖子

0

积分

新手上路

Rank: 1

积分
0
 楼主| 发表于 2022-7-10 10:19:28 | 显示全部楼层
哦哦哦               
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

津ICP备19006949号-1 | 津公网安备12010102000465号

快速回复 返回顶部 返回列表