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