满意答案
16guoyuming
2013.03.05
采纳率:49% 等级:13
已帮助:8005人
用单链表实现
#include
#include
typedef struct node
{
int cave;
struct node * next;
}node,*LinkList;
void main()
{
int i=0,j,count=1; // 初始值为1;
LinkList L,p,h;//也可node *L,*p,*h;
L=(node *)malloc(sizeof(node));
if(!L)
{
printf("error");exit(0);
}
L->next=NULL;//L为1号洞
L->cave=1;//第一次
h=L;
for(i=0;i<9;i++)
{
p=(node *)malloc(sizeof(node));
if(!p)
{
printf("error");exit(0);
}
h->next=p;
h=p;
p->cave=0;
p->next=NULL;
}
p->next=L;//循环链表
h=L;
i=1;//先到1号洞,找初始值为0;
while(i<1000)//i表示钻过多少洞你可以改个小一点的值检查一下
{
count++;//隔n个洞找,下标加上(n+1)所以初始值为1;
for(j=0;j
h=h->next;
h->cave++;
i++;
}
p=L;
for(j=0;j<10;j++)
{
printf("[%2d]号洞=%d\n",j+1,p->cave);
p=p->next;
}
}
[ 1]号洞=200
[ 2]号洞=0
[ 3]号洞=100
[ 4]号洞=0
[ 5]号洞=200
[ 6]号洞=200
[ 7]号洞=0
[ 8]号洞=100
[ 9]号洞=0
[10]号洞=200
第2,4,7,9个洞安全
00分享举报