循环控制~18鸡尾酒疗法

题目描述:

输入:

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

输出:

有n-1行输出,分别表示对应改进疗法的效果:
如果效果更好,输出better;如果效果更差,输出worse;否则输出same

复制代码
 1 #include<stdio.h>
 2 int main(){
 3     int n;                  //有几组实验
 4     scanf("%d",&n);
 5     double a,b;                //鸡尾酒疗法的总病例数和有效病例数
 6     scanf("%lf %lf",&a,&b);
 7     //计算鸡尾酒疗法的治愈率
 8     double A;
 9     A=b/a;
10     //printf("%lf\n",A);
11     double x[30],y[30];        //新疗法的总病例数和有效病例数
12     double X[30];           //新疗法的治愈率
13     for(int i=1;i<=n-1;i++){
14         scanf("%lf %lf",&x[i],&y[i]);
15         X[i] = y[i]/x[i];
16         //printf("%lf",X[i]);
17         //两种疗法结果比较判断
18         //if else语句的关系?
19         if((X[i]-A)>0.05)
20             printf("better\n");
21         else if((A-X[i])>0.05)
22             printf("worse\n");
23         else{
24             printf("same\n");
25         }
26     }
27     return 0;
28 }
复制代码

solution:

1 精度问题:

  在进行两个数据计算时应统一精度

  否则就会像我刚开始一样int型的a,b得到double型A的结果为错误的0.000000

2 if else 的分支问题

一个if-else

 

单独使用if:

 

 

多个if-else

 

 

posted on   罗小罗佳油  阅读(267)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程
点击右上角即可分享
微信分享提示