解题思路:比较两种疗法的治愈率。

注意事项:唯一的难点就是解决输入输出混合的问题,如果按照常规写法输入输出会混合在一起。这时就需要一个容器来存储每次循环的结果--数组。
但是运用数组要明确有效索引,不然会引起数组越界,此题的有效索引是0~n-1(排除鸡尾酒疗法后,其他疗法一共有n-1组),故数组最大索引是n,for循环条件是

n-1。为了保证输入和输出分开,用了两次一样的for循环,第一次通过数组输入并按顺序存储,第二次做判断后按顺序输出。
参考代码:

#include <stdio.h>

int main()

{

int n;

int i;

int a,b;

double x,y;

scanf("%d",&n);

scanf("%d %d",&a,&b);

x=(double)b/a;

int all[n],yes[n];

for(i=1;i<=n-1;i++){

scanf("%d %d",&all[i],&yes[i]);

    }

for(i=1;i<=n-1;i++){

y = (double)yes[i]/all[i];

if(y-x>0.05){

    printf("better\n");

}else if(x-y>0.05){

printf("worse\n");

}else{

printf("same\n");

}

    }

return 0;

}


点赞(1)
 

0.0分

1 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论