第3周实验报告—学习数据结构《约瑟夫序列》.docVIP

第3周实验报告—学习数据结构《约瑟夫序列》.doc

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3周实验报告—学习数据结构《约瑟夫序列》

实验3(第3周实验指导) 约瑟夫序列 一、实验题目 求解《约瑟夫序列》的问题 二、实验课时   2课时。 三、实验目的   1.掌握“管理信息系统”书本第3章的相关内容 2.学习“单向链表”的数据结构及其有关操作 3.学习编写程序 四、实验内容 学习约瑟夫序列 学习《约瑟夫序列》程序的例子(本例从一号开始报数) 3.作业:编写程序求解以下问题,现有运动会门票要赠与你们班(两个班各有67人,学号从1到67)的10个幸运儿,要求采用约瑟夫序列来抽签,全班以学号顺序排号围坐在一张圆桌周围。从编号为的人开始报数,数到的那个人出列;他的下一个人又从1开始报数,数到的那个人又出列;依此规律重复下去,直到圆桌周围的人#include stdio.h #include stdlib.h typedef struct node { int number; char info[100]; //将学生的学号,姓名,性别等信息都利用info[]来存储 struct node *next; }dlnode,*dlink; struct node *head,*p,*temp1,*temp2; FILE *fp; struct node* Creatlist(int num) //创建班级列表 { int i; head=(dlnode*)malloc(sizeof(dlnode)); head-number=1; head-next=head; p=head; if((fp=fopen(calss2.txt,r))==NULL) //打开存储学生信息的文本class2.txt { printf(\nCannot open file strike any key exit!); exit(1); } fgets(head-info,100,fp); //头结点可用于存储标题信息 for(i=1;i=num;i++) { temp1=(dlnode*)malloc(sizeof(dlnode)); temp1-number=i; fgets(temp1-info,100,fp); //将每个学生的信息导入入相应的info字符数组中, //每个学生对应一条info[]信息 temp1-next=p-next; p-next=temp1; p=temp1; } p=head; printf(班级名单如下:\n); printf(序号 学号 姓名 性别\n\n); //printf( %s\n,head-info); while(p-next!=head) { printf( %s\n,p-next-info); p=p-next; } return head; } void drowlots(dlnode *head,int num,int m) //主处理函数 { int i,j; p=head; i=1; j=num; while(j!=10) { if(i==mp-next!=head) { temp2=p-next; //printf( %d \n,temp2-number); //可输出被淘汰的学生的序号 p-next=temp2-next; free(temp2); i=1; j=j-1; } else { if(p-next==head) i--; p=p-next; i++; } } p=head-next; printf(\n10名幸运儿如下:\n\n); printf(序号 学号 姓名 性别\n\n);//printf( %s\n,head-info); while(p!=head) { printf( %s\n,p-info); p=p-next; } } void main() //主函数 { int n,m; n=67; head=Creatlist(n); printf(输入报数的编号:); scanf(%d,m); drowlots(head,n,m); syatem(“pause”); } 运行结果: 七、实验心得: 本次实验所涉及的数据结构知识的难度并不高,所涉及的程序主要用c语言编写,在主处理函数drowlots()设计的时候,思路比较清晰。通过学习在实验指导中所给的约瑟夫序列问题说

文档评论(0)

yuerang3062 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档