这样写的结果应该不是一起输出的,而是输入一个输出一个
by xiao2011 @ 2024-03-04 18:30:29
注意效率是百分比,循环有问题
by xirunzhao @ 2024-03-04 18:38:31
@[xiao2011](/user/1144228) 不是吧
by xirunzhao @ 2024-03-04 18:38:45
1.是**求百分比**
如果输入的是x, y,需要求一个z(y / x)
```C++
cin >> x >> y;
z = (y / x);
```
然后跟第一行的,进行比较
2.**未输入第一行的数据**
我这一段是这么打的
```C++
for(int i=1;i<n;i++)
```
总共(n + 1)组,第一行为鸡尾酒疗法的数据,后面n行是鸡尾酒疗法的数据
3.一个是**y - x**, 另一个是**x - y**(这里的x是第一行算出的百分比, y是后面行算出百分比)
```C++
if (y - x > 0.05)
printf("better\n");
else if(x - y > 0.05)
printf("worse\n");
else
printf("same\n");
```
本人是这样打的,感觉有点冗长,还需要优化,可以参考一下
```C++
#include <cstdio>
#include <iostream>
using namespace std;
int main()
{
long long n;
scanf("%lld", &n);
double a[n] [3];
for (int i = 0; i < n; i++)
{
for (int j = 0; j < 2; j++)
scanf("%lf", &a[i] [j]);
a[i] [2] = (a[i] [1] / a[i] [0]);
}
for (int i = 1; i < n; i++)
{
double x = a[0] [2];
double y = a[i] [2];
if (y - x > 0.05)
printf("better\n");
else if(x - y > 0.05)
printf("worse\n");
else
printf("same\n");
}
return 0;
}
```
by Carrie2718 @ 2024-03-04 18:58:36
实在是忘了,好久没看这题了,是总共n组,抱歉
by Carrie2718 @ 2024-03-04 19:03:58
thank you very much
by KOGU @ 2024-03-05 12:36:32