帮你在你的代码基础上改的:
(看你的代码目前还有很多的语法错误,还要以后多多练习啊)
#include
int main ()
{
int i , catfood , numrate ,tempc,tempj,j,
int ratej[1000] , ratec[1000] ;
double javabeans,rate[1000] ;
while (1)
{
scanf ("%d%d",&catfood,&numrate);
if(catfood == -1)break;
for (i=0;i
scanf ("%d",&ratej[i]);
scanf ("%d",&ratec[i]);
}
for (i=0 ; i
if(ratec[i] == 0)rate[i] = -1; //0的情况
else
rate[i]=(ratej[i]*1.0/ratec[i]);
}
for (i=0 ; i
for (j=0 ; j<(numrate-i-1) ; j++)
if (rate[j+1] <0 || (rate[j]>=0 && rate[j]
tempj=ratej[j];
ratec[j]=ratec[j+1];
ratej[j]=ratej[j+1];
ratec[j+1]=tempc;
ratej[j+1]=tempj;
double x = rate[j];
rate[j] = rate[j+1];
rate[j+1] = x;
}
}
javabeans = 0;
for (i=0 ; i
{
catfood=catfood-ratec[i] ;
javabeans+=ratej[i] ;
}
else {
javabeans+=(catfood*1.0*ratej[i]/ratec[i]);
break;
}
printf("%.3lf\n",javabeans);
}
return 0;
}