c语言我的程序编译错误是为什么?
#include<algorithm>#include<cstdio>#include<stdlib.h>#include<iostream>structnode{dou...
#include<algorithm>
#include<cstdio>
#include<stdlib.h>
#include<iostream>
struct node
{
double p;
double va;
double ave;
}food[1000+20];
bool cmp(node a,node b)
{
return a.ave>b.ave;
}
using namespace std;
int main()
{
double v,n;double sum;
while(cin>>v>>n)
{ sum=0;
if(v==-1&&n==-1)
break;
for(int i=0;i<n;i++)
{
cin>>food[i].p>>food[i].va;
food[i].ave=food[i].p/food[i].va;
}
sort(food,food+n,cmp);
for(int j=0;j<n&&v!=0;j++)
{
if(v>=food[j].va)
{
sum+=food[j].p;
v-=food[j].va;
}
else
{
sum+=food[j].p/food[j].va*v;
v=0;
}
}
printf("%.3lf\n",sum);
}
return 0;
} 展开
#include<cstdio>
#include<stdlib.h>
#include<iostream>
struct node
{
double p;
double va;
double ave;
}food[1000+20];
bool cmp(node a,node b)
{
return a.ave>b.ave;
}
using namespace std;
int main()
{
double v,n;double sum;
while(cin>>v>>n)
{ sum=0;
if(v==-1&&n==-1)
break;
for(int i=0;i<n;i++)
{
cin>>food[i].p>>food[i].va;
food[i].ave=food[i].p/food[i].va;
}
sort(food,food+n,cmp);
for(int j=0;j<n&&v!=0;j++)
{
if(v>=food[j].va)
{
sum+=food[j].p;
v-=food[j].va;
}
else
{
sum+=food[j].p/food[j].va*v;
v=0;
}
}
printf("%.3lf\n",sum);
}
return 0;
} 展开
展开全部
int main()
{
int n; //改为整型,编译通过,不知道你的代码想实现什么?
double v, sum;
while(cin>>v>>n)
{
sum=0;
if(v==-1&&n==-1)
break;
for(int i=0;i<n;i++)
{
cin>>food[i].p>>food[i].va;
food[i].ave=food[i].p/food[i].va;
}
sort(food,food+n,cmp);
for(int j=0;j<n&&v!=0;j++)
{
if(v>=food[j].va)
{
sum+=food[j].p;
v-=food[j].va;
}
else
{
sum+=food[j].p/food[j].va*v;
v=0;
}
}
printf("%.3lf\n",sum);
}
return 0;
}
2014-11-23
展开全部
这是cpp好吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询