求经典游戏推箱子的C(C++)语言的源代码 游戏界面友好有背景音乐为佳 50

毕设要求,设一定的关卡,4、5关就行,小女子编程能力不是很强,所以希望高手给于指点!发邮箱hanruyun353@126.com谢谢!运行可以立马给分!额外奖励~~~跪谢... 毕设要求,设一定的关卡,4、5关就行,小女子编程能力不是很强,所以希望高手给于指点!发邮箱hanruyun353@126.com 谢谢!运行可以立马给分!额外奖励~~~跪谢! 展开
 我来答
魔龙嗜血
2010-05-24 · TA获得超过1116个赞
知道小有建树答主
回答量:1033
采纳率:100%
帮助的人:510万
展开全部
#include<stdio.h>
#include<stdlib.h>
typedef struct ele{
int vno; /*物品号*/
struct ele *link; /*另一物品的指针*/
}ELE;
typedef struct hnode{
int remainder;/*箱子尚剩空间*/
ELE *head; /*箱内物品链首元指针迅猜*/
struct hnode *next;/*箱子链的后继箱亩埋型子指针*/
}HNODE;
main()
{
int n,i,box_count,box_volume,*a;
HNODE *box_h,*box_t,*j;
ELE *p,*q;
printf("输入箱子容积 ");
scanf("%d",&box_volume);
printf("输入物品种数 ");
scanf("%d",&n);
a=(int *)malloc(sizeof(int )*n);/*存储物品体积信息的数组*/
printf( "请按体积大小液缓顺序输入各物品的体积: ");
for(i=0;i<n;i++)
scanf("%d",a+i);
box_h=box_t=NULL; /*预置已用箱子链为空*/
box_count=0; /*预置已用箱子计数器为0*/
for(i=0;i<n;i++)
{ /*从第一只箱子开始顺序寻找能放入物品i 的箱子j*/
p=(ELE *)malloc(sizeof(ELE));
p->vno=i;
for(j=box_h;j!=NULL;j=j->next)
if(j->remainder>=a[i ])
break; /*找到还可以装物品i的箱子*/
if(j==NULL)
{ /*已用箱子都不能装物品i*/
j=(HNODE *)malloc(sizeof(HNODE)); /*使用一只新的箱子*/

j->remainder=box_volume-a[i ];
j->head=NULL;
if(box_h==NULL)
box_h=box_t=j; /* box-t有什么用处,能解释一下吗?*/
else box_t=box_t->next=j; /*此外box-t又有什么用(在程序中),请说详一细*/
j->next=NULL;
box_count++;
}
else
j->remainder=a[i ]; /*将物品i放入箱子j*/
for(q=j->head;q!=NULL&&q->link!=NULL;q=q->link);/*从这里起是放入物品号*/
if(q==NULL)
{
p->link=j->head;
j->head=p;
}
else
{
p->link=NULL;
q->link=p;
}
}/*for i*/
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式