|  | 
 
| 本帖最后由 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分,请分析原因。
 提示:浮点数计算精度问题。
 
 
 入门 其他 循环结构
 
 题解:
 
 
 复制代码#include<bits/stdc++.h>
using namespace std;
int main(){
        int total,valid,num;
        double a,b;
        cin>>num;
        cin>>total>>valid;
        a=(double)valid/total*100;
        for(int n=1;n<num;n++){
                cin>>total>>valid;
                b=(double)valid/total*100;
                if((b-a)>5)
                    cout<<"better"<<endl;
                else if((a-b)>5)        
                        cout<<"worse"<<endl;
                else        
                        cout<<"same"<<endl;
     }
        return 0;
}
 | 
 |