| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4043 人关注过本帖
标题:[求助]一个关于牛奶的问题!外加BT作业!!!
只看楼主 加入收藏
zhanghuan_10
Rank: 1
等 级:新手上路
威 望:2
帖 子:751
专家分:0
注 册:2006-10-25
收藏
得分:0 
我还是不会做啊,还是再详细的说一下吧,谢谢了!

该学习了。。。
2006-11-03 19:55
zhanghuan_10
Rank: 1
等 级:新手上路
威 望:2
帖 子:751
专家分:0
注 册:2006-10-25
收藏
得分:0 
呵呵!好像真的是啊!

该学习了。。。
2006-11-03 19:57
我不是郭靖
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:494
专家分:6
注 册:2006-10-4
收藏
得分:0 

又不是叫你每个人的产品都要买完


2006-11-03 20:13
zhanghuan_10
Rank: 1
等 级:新手上路
威 望:2
帖 子:751
专家分:0
注 册:2006-10-25
收藏
得分:0 

这样啊!呵呵,我还以为是全部的都要买呢!我再试一试!谢谢了!


该学习了。。。
2006-11-03 20:19
我不是郭靖
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:494
专家分:6
注 册:2006-10-4
收藏
得分:0 

#include<stdio.h>
#include<stdlib.h>
struct farmer
{
long ai; //amount of milk
long pi; //price
};
long f(struct farmer *p,long n,long m)
{
long cost=0,num=0,i,j,k;
struct farmer t;
for(i=0;i<m-1;i++) //sort
{
k=i;
for(j=i+1;j<m;j++)
if(p[j].pi<p[k].pi)
k=j;
t=p[k];
p[k]=p[i];
p[i]=t;
}
for(i=0;i<m;i++)
{
if(num+p[i].ai<n)
{
num+=p[i].ai;
cost+=p[i].ai*p[i].pi;
}
else
{
cost+=(n-num)*p[i].pi;
return cost;
}
}
return -1L;
}

int main()
{
long n,m,i; //n,is the amount of milk that Merry Milk Makers' want per day.
//m,is the number of farmers that they may buy from.
struct farmer *p;
scanf("%ld%ld",&n,&m);
p=(struct farmer*)malloc(m*sizeof(struct farmer));
for(i=0;i<m;i++)
scanf("%ld%ld",&(p+i)->pi,&(p+i)->ai);
printf("%ld\n",f(p,n,m));
free(p);
return 0;
}

[此贴子已经被作者于2006-11-3 20:39:30编辑过]


2006-11-03 20:22
zhanghuan_10
Rank: 1
等 级:新手上路
威 望:2
帖 子:751
专家分:0
注 册:2006-10-25
收藏
得分:0 

好难啊!我现在还看不懂你的代码!你这里的有的关键字我是第一次见到啊!


该学习了。。。
2006-11-03 20:33
我不是郭靖
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:494
专家分:6
注 册:2006-10-4
收藏
得分:0 
有测试数据吗?看看对不对啊?

2006-11-03 20:35
zhanghuan_10
Rank: 1
等 级:新手上路
威 望:2
帖 子:751
专家分:0
注 册:2006-10-25
收藏
得分:0 
对啊!给的测试数据是对的,但是我把你的代码交上去的时候,却没有通过!
123788.c:6: error: expected specifier-qualifier-list before '/' token
123788.c: In function 'f':
123788.c:13: error: expected expression before '/' token
123788.c:12: warning: unused variable 't'
123788.c:11: warning: unused variable 'k'
123788.c:11: warning: unused variable 'j'
123788.c:11: warning: unused variable 'num'
123788.c:11: warning: unused variable 'cost'
123788.c:37: warning: control reaches end of non-void function
123788.c: In function 'main':
123788.c:41: error: expected expression before '/' token
123788.c:41: error: missing terminating ' character
123788.c:45: error: 'p' undeclared (first use in this function)
123788.c:45: error: (Each undeclared identifier is reported only once
123788.c:45: error: for each function it appears in.)

该学习了。。。
2006-11-03 20:41
我不是郭靖
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:494
专家分:6
注 册:2006-10-4
收藏
得分:0 
稍微改了一下

2006-11-03 20:41
我不是郭靖
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:494
专家分:6
注 册:2006-10-4
收藏
得分:0 

那你把//这样的注释全去掉,这是c++注释方式

#include<stdio.h>
#include<stdlib.h>
struct farmer
{
long ai;
long pi;
};
long f(struct farmer *p,long n,long m)
{
long cost=0,num=0,i,j,k;
struct farmer t;
for(i=0;i<m-1;i++)
{
k=i;
for(j=i+1;j<m;j++)
if(p[j].pi<p[k].pi)
k=j;
t=p[k];
p[k]=p[i];
p[i]=t;
}
for(i=0;i<m;i++)
{
if(num+p[i].ai<n)
{
num+=p[i].ai;
cost+=p[i].ai*p[i].pi;
}
else
{
cost+=(n-num)*p[i].pi;
return cost;
}
}
return -1L;
}

int main()
{
long n,m,i;
struct farmer *p;
scanf("%ld%ld",&n,&m);
p=(struct farmer*)malloc(m*sizeof(struct farmer));
for(i=0;i<m;i++)
scanf("%ld%ld",&(p+i)->pi,&(p+i)->ai);
printf("%ld\n",f(p,n,m));
free(p);
return 0;
}


2006-11-03 20:43
快速回复:[求助]一个关于牛奶的问题!外加BT作业!!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.034114 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved