#include<iostream>
using namespace std;
struct Friut{
int id,w,v;
float pr,x;
};
Friut f[5];
void quickSort(Friut *f,int l,int r)
{
int qSort(Friut *f,int l,int r);
if(l<r)
{
int mid=qSort(f,l,r);
quickSort(f,l,mid-1);
quickSort(f,mid+1,r);
}
}
int qSort(Friut *f,int l,int r)
{
int i=l,j=r+1;
Friut x=f[l];
while(true)
{
while(f[++i].pr>x.pr&&i<=r);
while(f[--j].pr<x.pr);
if(i>=j) break;
Friut t=f[i];
f[i]=f[j];
f[j]=t;
}
f[l]=f[j];
f[j]=x;
return j;
}
void choose(float c){
int i=0;
while(f[i].w<=c&&i<=4)
{
f[i].x=1;
c=c-f[i++].w;
}
if(c>0) f[i].x=c/f[i].w;//0.333=剩下的重量/物品的重量
}
int main()
{
for(int i=0;i<5;i++)
{
f[i].id=i+1;
cout<< "输入重量和价值:";
cin >>f[i].w>>f[i].v;
f[i].pr=(float)f[i].v/f[i].w;
}
quickSort(f,0,4);
choose(10);
cout<<"id w v pr x:"<<endl;
for(int i=0;i<5;i++)
{
cout<<f[i].id<< " "<<f[i].w<<" "
<<f[i].v<<" "<<f[i].pr<<" "
<<f[i].x<<" "<<endl;
}
}