| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 880 人关注过本帖
标题:求助。。。链表为什么运行不了
取消只看楼主 加入收藏
nan1888
Rank: 2
等 级:论坛游民
帖 子:44
专家分:86
注 册:2011-6-19
结帖率:85.71%
收藏
已结贴  问题点数:20 回复次数:4 
求助。。。链表为什么运行不了
狐狸要吃兔子,但兔子藏在10个洞中的其中一个,狐狸先从1号洞找,第二次隔1个洞找(即3号洞)。第三次隔两个洞找,即(6号洞),找了1000次,都每找到兔子,问兔子在哪里。
#include<stdio.h>
#include<stdlib.h>
#define null 0
#define overlow -2
#define ok 1
#define error 0
typedef int status;
typedef int elemtype;
#define list 10
typedef struct LNode{
    elemtype data;
    struct LNode *next;
}LNode;
LNode *s;
status greatlist(LNode *l)  建立10个洞的链表
{int j;
LNode *p;
    l=(LNode*)malloc(sizeof(LNode));
l->next=null;
for(j=0;j<list;j++)
{p=(LNode*)malloc(sizeof(LNode));
if(p==null) return overlow;
p->data=1;   狐狸每进的洞用1标记
p->next=l->next;
l->next=p;
}
s=l;
}
status rabbit(LNode *l)
{int i;
int count=0;
int k;
LNode *p;
if(!greatlist(l)) return error;
p=s;
p->next=0; 狐狸进了第一个洞,用0表示
for(i=0;i<list-2;i++)
{p=p->next;}
p->next=0;
for(i=2;i<1001;i++)  
{count=(count+i)%list;  实现链表循环
for(k=2;k<count;k++)
{p=p->next;}
p->next=0;}   进过的洞标记为0
printf("kkkkk");
for(i=0;i<list;i++)
{p=p->next;
if(p->data==1)
printf(p->data);  输出未进过的洞

}
void main()
{LNode *l;
l=null;
greatlist(l);
rabbit(l);
getch();}

[ 本帖最后由 nan1888 于 2011-7-22 20:55 编辑 ]
搜索更多相关主题的帖子: 1000 next include status 
2011-07-21 17:09
nan1888
Rank: 2
等 级:论坛游民
帖 子:44
专家分:86
注 册:2011-6-19
收藏
得分:0 
回复 2楼 idea_creater
能告诉我错在哪里吗
2011-07-21 17:19
nan1888
Rank: 2
等 级:论坛游民
帖 子:44
专家分:86
注 册:2011-6-19
收藏
得分:0 
回复 4楼 吴辉
加上也不行啊
2011-07-21 17:32
nan1888
Rank: 2
等 级:论坛游民
帖 子:44
专家分:86
注 册:2011-6-19
收藏
得分:0 
回复 10楼 tang_ke
好。。。等等
2011-07-22 20:43
nan1888
Rank: 2
等 级:论坛游民
帖 子:44
专家分:86
注 册:2011-6-19
收藏
得分:0 
回复 10楼 tang_ke
刚刚加注释了
2011-07-22 20:55
快速回复:求助。。。链表为什么运行不了
数据加载中...
 
   



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

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