本题题意说白了,给你 \(a\) 、\(b\) 、\(c\) 、\(d\) 、\(e\) 、\(x\) 、\(y\),让你算出3个李白分别的酒量,算法由题知。最后,它让你输出这3个数中最大值的初始编号及其具体的值。
代码如下:
#include<bits/stdc++.h>
using namespace std;
double a,b,c,d,e,x,y;
struct p{
double v;
int q;
}k[3];
bool cmp(p a,p b)
{
if(a.v!=b.v) return a.v>b.v;
return a.q<b.q;
}
int main()
{
cin>>a>>b>>c>>d>>e>>x>>y;
k[0].v=a*x+b*y;
k[1].v=c*y;
k[2].v=d*y+e;
k[0].q=1;
k[1].q=2;
k[2].q=3;
sort(k,k+3,cmp);
cout<<k[0].q<<" ";
cout<<fixed<<setprecision(2)<<k[0].v;
return 0;
}
注:以上变量类型均为double,且要求保留两位小数输出!!!
标签:输出,return,题意,double,T426130,cmp From: https://www.cnblogs.com/cath20/p/18017951