问题标题: 1029 鸡尾酒疗法疗效谁更佳 怎么写?

0
0
已解决
吴知玄
吴知玄
新手光能
新手光能

“假设鸡尾酒疗法的有效率为x,新疗法的有效率为y,如果y-x大于5%,则效果更好,如果x-y大于5%”中的%5是谁的百分之5?


1
已采纳
马佳滢
马佳滢
新手天翼
新手天翼

吴知玄 你好!

1、定义long型变量a,b,n和double变量x,y;

2、输入n、a、b;

3、

x=b/(a/1.0);//x存储原鸡尾酒疗法有效率

4、循环:从2到n:

 for(int i=2;i<=n;i++)//循环判断其他n-1种改进疗法与原鸡尾酒疗法的差距

5、循环内输入a和b;

6、

 y=b/(a/1.0);//y 存储第i种改进鸡尾酒疗法的有效率

7、判断:如果第i种改进疗法的有效率 减 原鸡尾酒疗法有效率大于0.05,输出Better;否则,如果原鸡尾酒疗法有效率 减 第i种改进疗法的有效率大于0.05,输出Worse;要不然输出Same;

if(y-x>0.05)printf("Better\n");
        else if(x-y>0.05)printf("Worse\n");
        else printf("Same\n");//判断第i种疗法与原鸡尾酒疗法的差距

 

马佳滢在2018-01-14 14:51:47追加了内容

%5不是任何人的%5,是0.05呀

0
李宗霖
李宗霖
中级守护
中级守护
核心代码
x = 1.0 * effect / total; /* 鸡尾酒疗法*/
for(i = 1; i < n; ++i) {
scanf("%d%d", &total, &effect);
y = 1.0 * effect / total;/* 其他疗法 */

 

0
夏天
夏天
中级守护
中级守护

c=(double)y/x;
    for(int i=1;i<n;i++){
        cin>> f >> g;
        k=(double)g/f;
        if(k-c>0.05) cout<< "Better \n";
        else if(c-k>0.05) cout<<"Worse \n";
             else cout<< "Same \n";
    }

0
王子轩
王子轩
新手光能
新手光能

核心代码:

cin>>n>>b>>a;
a/=b;
while(n-1)
{
cin>>d>>c;n--;
if(c/d>a+0.05)cout<<"Better"<<endl;
else if(a-0.05>c/d)cout<<"Worse"<<endl;
else cout<<"Same"<<endl;
0
0
我要回答