标题:这问题在那里啊
只看楼主
某某
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-5-19
 问题点数:0 回复次数:2 
这问题在那里啊

#include<stdio.h>
#include<malloc.h>
struct node
{ int data;
struct node *next;
};
struct node *createlink(int n)
{struct node *r,*q,*p;
int i,a;
p=(struct node *)malloc(sizeof(struct node));
scanf("%d",&a);
p->data=a;
r=q=p;
for(i=0;i<n-1;i++)
{q=(struct node *)malloc(sizeof(struct node));
scanf("%d",&a);
q->data=a;
p->next=q;
p=q;
}
q->next=r;
return r;
}
main()
{ struct node *r,*q,*p;
int n,m,j;
scanf("%d",&n);
r=createlink(n);
scanf("%d",&m);
while(r->next!=r)
{ for(j=0;j<m-1;j++)
{r=r->next;
p=r->next;
printf("->%d",p->data);
r->next=p->next;
r++;}
}
if(r->next==r)
printf("->%d",r->data);
}

让n个人坐成一圈报数 报到m的就退出 输出出列的顺序

搜索更多相关主题的帖子: node struct int next 
2007-05-31 19:18
smartwind
Rank: 1
等 级:新手上路
威 望:1
帖 子:277
专家分:0
注 册:2006-11-13
得分:0 
除了下面红色部分,还需要注意释放内存

#include<stdio.h>
#include<malloc.h>
struct node
{ int data;
struct node *next;
};
struct node *createlink(int n)
{struct node *r,*q,*p;
int i,a=1;
p=(struct node *)malloc(sizeof(struct node));
//scanf("%d",&a);
p->data=a;
r=q=p;
for(i=0;i<n-1;i++)
{q=(struct node *)malloc(sizeof(struct node));
a++;
q->data=a;
p->next=q;
p=q;
}
q->next=r;
return r;
}
main()
{ struct node *r,*q,*p;
int n,m,j;
scanf("%d",&n);
r=createlink(n);
scanf("%d",&m);
while(r->next!=r)
{ for(j=0;j<m-1;j++)
{r=r->next;
p=r->next;
printf("->%d",p->data);
r->next=p->next;
r=r->next;}
}
if(r->next==r)
printf("->%d",r->data);
}

2007-06-01 16:00
zhou
Rank: 1
等 级:禁止发言
帖 子:429
专家分:0
注 册:2006-6-16
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2008-03-30 16:36



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-143899-1-1.html




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

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