欢迎来到天天文库
浏览记录
ID:33575786
大小:149.00 KB
页数:7页
时间:2019-02-27
《【7A版】顺序表实现约瑟夫环的问题-C语言.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、7A版优质实用文档计算机科学与工程学院《算法与数据结构》试验报告[一]专业班级10级计算机工程02试验地点计算机大楼计工教研室学生学号1005080222指导教师蔡琼学生姓名肖宇博试验时间20GG-2-29试验项目算法与数据结构试验类别基础性()设计性()综合性(√)其它()试验目的及要求(1)掌握用VC++上机调试线性表的基本方法;(2)掌握顺序表的存储结构以及基本运算的实现。成绩评定表类别评分标准分值得分合计上机表现积极出勤、遵守纪律主动完成设计任务30分程序与报告程序代码规范、功能正确报告详实完整、体现收获70分77A版优质实用文档7A版优质实用文档备注:评阅教师:日期
2、:年月日试验内容一、实验目的和要求1、实验目的:(1)掌握用VC++上机调试线性表的基本方法;(2)掌握顺序表的存储结构以及基本运算的实现。2、实验内容约瑟夫环问题:设编号为1,2,3,……,n的n(n>0)个人按顺时针方向围坐一圈,m为任意一个正整数。从第一个人开始顺时针方向自1起顺序报数,报到m时停止并且报m的人出列,再从他的下一个人开始重新从1报数,报到m时停止并且报m的人出列。如此下去,直到所有人全部出列为止。要求设计一个程序模拟此过程,对任意给定的m和n,求出出列编号序列。3、实验要求:用顺序表实现。二、设计分析根据实验要求,采用顺序表来完成本次实验。实验中定义了两
3、个顺序表,一个用来存储n个人的序号,另一个用来存储n个人的出队顺序及序号。77A版优质实用文档7A版优质实用文档程序中充分考虑了如果出队的元素大于队列的元素个数时应该有的情况,如果出现这样的错误就提示!否则继续出队!二、源程序代码#include#include#defineMAGSIZE10//宏替换最大值typedefstruct{intdata[MAGSIZE];intlength;}Sqlist;voidCreatList(SqlistG&L,inta[],intn)//创建顺序表{L=(SqlistG)malloc(sizeof
4、(Sqlist));for(inti=0;idata[i]=a[i];}L->length=n;}voidInitList(SqlistG&L)//初始化顺序表{L=(SqlistG)malloc(sizeof(Sqlist));L->length=0;}77A版优质实用文档7A版优质实用文档voidDestoryList(SqlistG&L)//释放顺序表空间{free(L);}voidjosephus(SqlistG&L)//约瑟夫环的核心代码{intt=0;intm=0;printf("请输入数到几个人出来");printf("");scanf
5、("%d",&m);if(m>L->length){printf("没有这么多人呀!╮(╯_╰)╭");}else{printf("出列顺序为:");for(intq=L->length;q>=1;q--){t=(t+m-1)%q;printf("");printf("t%dt",L->data[t]);for(intj=t+1;j<=q-1;j++)77A版优质实用文档7A版优质实用文档L->data[j-1]=L->data[j];}printf("");}}voidmain(){SqlistGs;InitList(s);inta[MAGSIZE];intn=
6、0;printf("请键入要输入几个数");printf("");scanf("%d",&n);for(inti=0;i7、列数有误时将会提示错误6.当你的要输入的数大于定义的最大值时提示错误如图:7.当你的要输入的数小于定义的最大值时提示错误如图:五、实验总结先后学习了C/C++,对编程语言基本上有一些了解,但在数据结构试验程序设计过程中还是学到了很多。经过两天的设计,在不断翻阅以前资料的情况下,有针对性的复习了C/C++中指针、循环的相关理论知识和vc6.0的基础知识和应用技巧,最后比较成功的完成了本次的设计。本次设计是运用已学的线性表中顺序表的相关内容,由于以前的指针方面知识没有学好,刚开始时有些措手不及,尤其是运用指
7、列数有误时将会提示错误6.当你的要输入的数大于定义的最大值时提示错误如图:7.当你的要输入的数小于定义的最大值时提示错误如图:五、实验总结先后学习了C/C++,对编程语言基本上有一些了解,但在数据结构试验程序设计过程中还是学到了很多。经过两天的设计,在不断翻阅以前资料的情况下,有针对性的复习了C/C++中指针、循环的相关理论知识和vc6.0的基础知识和应用技巧,最后比较成功的完成了本次的设计。本次设计是运用已学的线性表中顺序表的相关内容,由于以前的指针方面知识没有学好,刚开始时有些措手不及,尤其是运用指
此文档下载收益归作者所有