解题思路:
首先需要输入n组数据,其中第一组数据为参考数据,其余n-1组数据均需要与第一组数据进行比较,从而得出是否更加有效。可以采用一个条件语句进行判断,如果n为输入时的n,便将n20/n10的值记录下来,与后面输入的每组n2/n1进行比较。
注意事项:
注意审题,只有在|n2/n1-n20/n10|>0.5时才能判断是否更好,其他条件下均为效果一样,详细解题思路参考代码内注释。
参考代码:
#include <stdio.h>
#include <math.h>
int main()
{
int n10 = 0;
int n20 = 0;//记录第一组参考数据的值
int n1 = 0;
int n2 = 0;//记录后面每组输入的数据值
int n = 0;
double ret0 = 0.0;//存储参考数据的有效率
double ret1 = 0.0;//存储输入数据的有限率
scanf("%d", &n);
int n0 = n;
while (n)
{
if (n == n0)//记录参考数据的输入
{
scanf("%d %d", &n10, &n20);
ret0 = (n20 / 1.0) / (n10 / 1.0);//计算参考数据有效率
n--;
}
else//输入比较的数据
{
scanf("%d %d", &n1, &n2);
ret1 = (n2 / 1.0) / (n1 / 1.0);//计算输入数据有效率
//对比参考数据有效率以及输入数据的有效率,并输出比较结果即可
if (ret1 - ret0 > 0.05)
{
printf("better\n");
n--;
}
else if (ret0 - ret1 > 0.05)
{
printf("worse\n");
n--;
}
else
{
printf("same\n");
n--;
}
}
}
return 0;
}
0.0分
2 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复