问题标题: 酷町堂:1029

1
0
已解决
高舒豪
高舒豪
中级光能
中级光能
1029   鸡尾酒疗法疗效谁更佳经验值:800
题目描述 Description
鸡尾酒疗法,原指“高效抗逆转录病毒治疗”(HAART),由美籍华裔科学家何大一于1996年提出,因药物的配置方法和配置鸡尾酒很相似,将多种药物混合,用特殊的方法将其混合均匀,故得其名。该疗法的应用可以减少单一用药产生的抗药性,最大限度地抑制病毒的复制,使被破坏的机体免疫功能部分甚至全部恢复,从而延缓病程进展,延长患者生命,提高生活质量。经过临床实验,人们在鸡尾酒疗法的基础上又提出了很多种改进的疗法。为了验证这些治疗方法是否在疗效上比鸡尾酒疗法更好,可用通过临床对照实验的方式进行。假设鸡尾酒疗法的有效率为x,新疗法的有效率为y,如果y-x大于5%,则效果更好,如果x-y大于5%,则效果更差,否则称为效果差不多。下面给 出n组临床对照实验,其中第一组采用鸡尾酒疗法,其他n-1组为各种不同的改进疗法。请写程序判定各种改进疗法效果如何。

输入描述 Input Description
第一行为整数n( 1 < n <= 20);
其余n行每行两个整数,第一个整数是临床实验的总病例数(小于等于10000),第二个是疗效有效的病例数。
在这n行数据当中,第一行为鸡尾酒疗法的数据,其余各行为各种改进疗法的数据。

输出描述 Output Description
有n-1行输出,分别表示对应改进疗法的效果:
如果效果更好,输出Better;如果效果更差,输出Worse;否则输出Same。

样例输入 Sample Input
6
118 98
125 89
90 63
123 117
153 126
145 99
样例输出 Sample Output
Worse
Worse
Better
Same
Worse

问题1:

这是输入完后就输出么?

问题2:

5%怎么算 

这是我的代码:

    int x,y;
    int n;
    cin>>n;
    for(int i=1; i<=n; i++){
        cin>>x>>y;
        if(y-x>(5.0/100.0)*100.0){
            cout<<"Better\n";
        }
        else if(x-y>(5.0/100.0)*100.0){
            cout<<"Worse\n";  
        }
        else{
            cout<<"Same\n";
        }
    } 

 


0
已采纳
李子杰
李子杰
资深光能
资深光能

高舒豪,你的专业辅导80年teacher又来了!!!

 

1.用long long 类型定义3个变量,double类型定义2个变量,并输入三个long long类型变量;

例如:long long n,a,b;    double x,y;    cin>>n>>a>>b;

2赋值,x=b/(a/1.0)

3.for(int i=2;i<=n;i++){

    4.输入>>a>>b;

    5.赋值,y=b/(a/1.0)

    6.  if(y-x>0.05){

        输出<<"Better\n";

    }

    else if(x-y>0.05){

        输出<<"Worse\n";

    }

    else{

        输出<<"Same\n";

    }

    7.结束

}

 

 

 

1
被禁言 高乐彤
高乐彤
修练者
修练者
cin>>x>>y;
    a=y/(x/100);

 然后中间弄一个循环,次数是n-1。

变量a,你可以换一个变量名,弄什么都行。

cin>>x>>y;
        if(y/(x/100)-a>5){
            cout<<"Better\n";
        }else if(a-y/(x/100)>5){
            cout<<"Worse\n";
        }else{
            cout<<"Same\n";
        }

 

高乐彤在2021-04-12 18:19:29追加了内容

都是班里人,望采纳!

我要回答