#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int m,n,i=0,j=0,q,b[20];
double t,v,p,g=0,a[20];
cin>>m>>n;
while(cin>>t>>v&&t!=0&&v!=0)
{
a[i]=v/t;
b[i]=t;
i++;
}
for(i=0; i<m-1; i++)
for(j=0; j<m-i-1; j++)
{
if(a[j]<a[j+1])
{
p=a[j+1];
a[j+1]=a[j];
a[j]=p;
q=b[j+1];
b[j+1]=b[j];
b[j]=q;
}
}
i=0;
while(1)
{
if(n-b[i]>0)
{
g+=a[i]*b[i];
n-=b[i];
}
else
{
g+=n*a[i];
break;
}
i++;
}
cout<<setiosflags(ios::fixed)<<setprecision(2);
cout<<g<<endl;
}
还是出现段错误
追答#include
#include
using namespace std;
int main()
{
int m,n,i=0,j=0,q,b[20];
double t,v,p,g=0,a[20];
cout>m>>n;
while(i >t>>v;
if(v == 0 || t == 0)
{
cout0)
{
g+=a[i]*b[i];
n-=b[i];
}
else
{
g+=n*a[i];
break;
}
i++;
}
cout<<setiosflags(ios::fixed)<<setprecision(2);
cout<<g<<endl;
}