版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、导教师对课程设计的评语指导教师签字: 年 月 日 设计1 约瑟夫环问题 一、需求分析1、本演示程序中,人数n应为任意的,首先应输入一个值赋给初始报数上限m,程序应能自动保存出列人的序号和将出列的人所持的密码赋给m,再次作为报数上限,如此循环,直至所有人都出列为止。2、演示程序以用户和计算机的对话方式执行,即在计算机终端上显示“提示信息之后,由用户在键盘上输入相应数据即每个人的密码,每个人的序号由程序自动分配。3、程序执行的命令包括:1构造链表;2输入数据;3执行程序,输出报数人的相关信息后,在链表中删除报数人相关信息。4结束。4、测试数据:m的值为20,n=7,7个人的密码依次是3, 1,7,
2、2,4,8,4,首先m值是6正确的出列顺序是6,1,4,7,2,3,5二、概要设计为了实现上述功能,应以单向循环链表表示。1、创立新链表并且输入相应的数据2 本程序包含三个模块:主程序模块;定义节点类型构造链表并输入每个人信息模块;三、详细设计1.元素类型,结点类型和指针类型:typedef struct Lnode int num; int data;Lnode *next; Lnode,*Linklist;2每个模块的分析:1主程序模块:int main() int m,n;printf("请输入初始的报数上限m和人数n:n");scanf("%d"
3、,&m);scanf("%d",&n);struct Lnode *q;Linklist p,L;while(q!=L)for(;m>0;m-) q=q->next;L=L->next;L->next=q->next;p=q;q=q->next;m=p->data;printf("%dn",p->num );free(p);return 0; 2构造链表并输入每个人信息模块:void creat() int n; Linklist L=0,q=0; L=( Linklist)malloc(s
4、izeof(Lnode); printf ("请按照编号将每个人的编号,密码依次输入系统:"); for(;n>0;n-) scanf("%d",L->num); scanf("%d",L->data); L->next=( Linklist)malloc(sizeof(Lnode); L=L->next; L->next=q; q=L;四、运行结果及分析1 .该程序在codeblocks中运行2进入演示程序后即显示提示信息:请输入初始的报数上限m和人数n:请按照编号将每个人的编号,密码依次输入系统
5、:输入完毕后就进行报数操作3测试结果当输入m20,n7,每个人所持密码一次为:3,1,7,2,4,8,4时,那么输出正确的出列顺序为:6,1,4,7,2,3,5五、总结 通过此次设计,深入了解单向循环链表的使用,熟练掌握其用法,为以后更好的学习打好根底。附:主要源代码#include <stdio.h>#include <stdlib.h>typedef struct Lnode int num; int data; Lnode *next; Lnode,*Linklist; void creat() int n; Linklist L=0,q=0; L=( Linkl
6、ist)malloc(sizeof(Lnode); q=L; printf ("请按照编号将每个人的编号,密码依次输入系统:"); for(;n>0;n-) scanf("%d",L->num); scanf("%d",L->data); L->next=( Linklist)malloc(sizeof(Lnode); L=L->next; L->next=q;int main() int m,n; printf("请输入初始的报数上限m和人数n:n"); scanf("%d",&m); scanf("%d",&n); struct Lnode *q; Linklist p,L;L=creat(n); while(q!=L) for(;m>0;m-) q=q->next;L=L->next; L->next=q->next;p=q;q=q->next; m=p->data; printf("%dn",p->num ); free(p); return 0;YNN开始输入m ,n输入num ,data;构建链表q!=L m&g
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年湖南铁道职业技术学院单招职业倾向性测试题库新版
- 2026年浙江省衢州市单招职业适应性测试题库及答案1套
- 2026年台州学院单招职业适应性测试必刷测试卷必考题
- 2026年日照航海工程职业学院单招综合素质考试题库必考题
- 2026年太原幼儿师范高等专科学校单招综合素质考试必刷测试卷及答案1套
- 温室大棚园艺技术应用与推广方案
- 市政管道管网运维与维修方案
- 2026年苏州健雄职业技术学院单招职业倾向性考试必刷测试卷新版
- 2026年四川建筑职业技术学院单招职业技能考试题库附答案
- 2026年浙江金融职业学院单招职业技能考试必刷测试卷附答案
- 2025年银联商务面试题及答案
- 高中数学复习 导数压轴大题归类 (原卷版)
- 安徽省历年中考语文现代文阅读之非连续性文本阅读6篇(截至2024年)
- 2024年危险化学品驾驶员劳动合同职业禁忌与健康管理3篇
- 机器学习在金融领域的应用与风险控制
- 微专题图示法突破质子守恒-2024高考化学一轮考点击破
- 【MOOC】计算机网络-河南理工大学 中国大学慕课MOOC答案
- 【MOOC】航天推进理论基础-西北工业大学 中国大学慕课MOOC答案
- 《保健食品标识培训》课件
- 江苏省扬州市2024-2025学年高三上学期11月期中考试 物理 含答案
- 雷电预警信息接收和响应制度
评论
0/150
提交评论