解题思路:
首先需要输入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分
1 人评分
C语言训练-8除不尽的数 (C++代码)浏览:674 |
C语言程序设计教程(第三版)课后习题10.7 (C语言代码)浏览:536 |
C语言考试练习题_一元二次方程 (C语言代码)浏览:761 |
分糖果 (C++代码)浏览:1520 |
C语言程序设计教程(第三版)课后习题5.5 (C语言代码)浏览:567 |
大神老白 (C语言代码)浏览:686 |
C语言程序设计教程(第三版)课后习题6.5 (C语言代码)浏览:772 |
C语言程序设计教程(第三版)课后习题1.5 (C++代码)浏览:1108 |
【金明的预算方案】 (C++代码)浏览:985 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:587 |