一个数据结构问题 急

题目是这样的:指定一个数字(假设m),有10个人从任意一个人开始,报数当报到m时,停止此人出局,接着下一个人继续报数,一次循环,输出出局人的顺序,用数据结构中的单循环链表... 题目是这样的:指定一个数字(假设m),有10个人从任意一个人开始,报数当报到m时,停止此人出局,接着下一个人继续报数,一次循环,输出出局人的顺序,用数据结构中的单循环链表完成,我们刚刚学习数据结构,很多东西不明白,这次也是第一次拿数据结构来完成程序,我写了个程序,错误估计很多,请好心的高手指教,没什么分了,就20分,万分感激;
#include<stdio.h>
#include <malloc.h>
typedef struct node
{int data;
struct node *next;
}LNode,* Linklist;

Linklist CreatFromHead()
{ Linklist L=NULL,s;
LNode *r=NULL;
int x,flag=11;
printf("请输入链表内的元素数据:");
scanf("%d",&x);
while(x!=flag)
{s=(Linklist)malloc(sizeof(LNode));s->data=x;
if(L=NULL)L=s;
else r->next=s;
r=s;
scanf("%d",&x);
}
s->next=L;
if(r!=NULL) r->next=NULL;
return L;
}
Linklist Getlist(Linklist L,int i)
{Linklist p;
int j;

p=L;j=0;
while(p->next!=NULL&&j<i)
{ p=p->next;
j++;
}
if(i==j)return p;
else return NULL;
}
Linklist treat(Linklist L,int k,int i);
{Linlist L;
LNode *p,*s;
int k,j;
p=Getlist(L,i);j=0;

while(j<k-1)
{
p=p->next;
j++;
}
if(p->data=NULL);
{
p=p->next;
}
return p;
}
int Del_Linklist(Linklist L,int i)
{Linklist p,q;
p=Getlist(L,i-1);
q=p->next;
p->next=q->next;
free(q);
return 1;
}
main()
{Linklist L;
Linklist p;
int i,k,m,n;
printf("请输入查找的元素位置");
scanf("%d",&i);
printf("请输入相隔的位置:");
scanf("%d",&k);
m=0
L=CreatFromHead();
while(m<9)
{
p=treat(L,k,i);

printf("%d",p->data);
n=Del_Linklist(L,i)
}
}
顺便附带错误提示如下
1>------ 已启动生成: 项目: wse, 配置: Debug Win32 ------
1>正在编译...
1>rr.cpp
1>c:\users\偶尔有阳光\documents\visual studio 2008\projects\wse\wse\rr.cpp(39) : error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
1>c:\users\偶尔有阳光\documents\visual studio 2008\projects\wse\wse\rr.cpp(64) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\users\偶尔有阳光\documents\visual studio 2008\projects\wse\wse\rr.cpp(72) : error C2146: 语法错误 : 缺少“;”(在标识符“L”的前面)
1>c:\users\偶尔有阳光\documents\visual studio 2008\projects\wse\wse\rr.cpp(79) : error C2143: 语法错误 : 缺少“;”(在“}”的前面)
1>生成日志保存在“file://c:\Users\偶尔有阳光\Documents\Visual Studio 2008\Projects\wse\wse\Debug\BuildLog.htm”
1>wse - 4 个错误,0 个警告
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
如能帮忙解答,定当感激不尽
展开
 我来答
匿名用户
2009-09-28
展开全部
这个可以了,我调试了

#include<stdio.h>
#include <malloc.h>
typedef struct node
{int data;
struct node *next;
}LNode,* Linklist;

Linklist CreatFromHead()
{ Linklist L=NULL,s;
LNode *r=NULL;
int x,flag=11;
printf("请输入链表内的元素数据:");
scanf("%d",&x);
while(x!=flag)
{s=(Linklist)malloc(sizeof(LNode));s->data=x;
if(L=NULL)L=s;
else r->next=s;
r=s;
scanf("%d",&x);
}
s->next=L;
if(r!=NULL) r->next=NULL;
return L;
}

Linklist Getlist(Linklist L,int i)
{Linklist p;
int j;

p=L;j=0;
while(p->next!=NULL&&j<i)
{ p=p->next;
j++;
}
if(i==j)return p;
else return NULL;
}
Linklist treat(Linklist L,int k,int i)
{
LNode *p,*s;
int j;
p=Getlist(L,i);j=0;

while(j<k-1)
{
p=p->next;
j++;
}
if(p->data=NULL)
p=p->next;
return p;
}

int Del_Linklist(Linklist L,int i)
{Linklist p,q;
p=Getlist(L,i-1);
q=p->next;
p->next=q->next;
free(q);
return 1;
}
main()
{Linklist L;
Linklist p;
int i,k,m,n;
printf("请输入查找的元素位置");
scanf("%d",&i);
printf("请输入相隔的位置:");
scanf("%d",&k);
m=0;
L=CreatFromHead();
while(m<9)
{
p=treat(L,k,i);

printf("%d",p->data);
n=Del_Linklist(L,i);
}
}
法本信息技术
2024-10-28 广告
深圳市法本信息技术股份有限公司专注于数字化技术服务,致力为客户提供先进的数字化平台、技术和解决方案,以数字化技术为依托,聚焦自主安全可控的实时智能计算(Real-time Intelligent Computing , RTIC)关键技术和... 点击进入详情页
本回答由法本信息技术提供
由光济XD
2009-09-24 · TA获得超过885个赞
知道小有建树答主
回答量:199
采纳率:0%
帮助的人:158万
展开全部
题目太长了。。。啊,分数多给些估计会有人回答的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式