为什么??????

B2065 鸡尾酒疗法

这样写的结果应该不是一起输出的,而是输入一个输出一个
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


|