猴子选大王课程教学设计报告.doc

收藏

编号:2623914    类型:共享资源    大小:145.62KB    格式:DOC    上传时间:2020-04-25
8
金币
关 键 词:
猴子 大王 课程 教学 设计 报告 讲演 呈文
资源描述:
-* 课程设计报告 课程设计题目:猴子选大王 学生姓名:吴兆 专 业:软件工程 班 级:1321813 学 号:201320181306 指导教师:吴建东 2015年 1 月 9 日 东华理工大学 目录 一:需求分析 1. 问题描述 2. 基本要求 3. 需求分析 二:概念设计 三:详细设计 四:调试分析和测试结果 五:总结 六:源代码 一:需求分析 1. 问题描述 一堆猴子都有编号,编号是1,2,3 ...m ,这群猴子(m个)按照1-m的顺序围坐一圈,从第1开始数,每数到第N个,该猴子就要离开此圈,这样依次下来,直到圈中只剩下最后一只猴子,则该猴子为大王。 2. 基本要求 输入数据:输入m,n m,n 为整数,nnext==head) return(p); while(jnext; j=j+1; } q=p->next;p->next=q->next; head=p->next; printf("%d 第%d个猴子离开.\n",i,q->num); free(q); LisDelete(head,m); } 3. 主函数 void main() { struct L *head; struct L *p; int m,N; printf("*********************************************************\n"); printf("猴子选大王:\n"); printf(" 一堆猴子都有编号,编号1,2,3...m,这群猴子(m个)按照1-m\n"); printf("的顺序围坐一圈,从第1开始数,每数到第n(nN||m<=0||N<=0) { ERROR(); } else { if(m==1) { printf("结果:第%d个猴子为大王.\n",N); } else { head=creat(N); printf(" 过程:\n"); p=LisDelete(head,m); printf("***********************************\n"); printf("结果:第%d个猴子为大王.\n",p->num); printf("***********************************\n"); } } } 四:调试分析和测试结果 得到了预期的结果 五:总结 本次课程设计,参考了相关教科书和参考书对二分法查找与各种排序方法的描述,对相关功能所需结构体和函数有了初步构思之后,经过代码的输入、语法改错,调试执行等过程,完成了一个简单的功能系统。 通过一周时间,从初步思路形成到基本功能完成,对数据结构设计实践与应用部分基本了解了。从本次课程设计我觉得我应该把所学基础知识与具体问题实践结合,基本知识要扎实,对待问题要各方面分析。 数据结构与算法设计是一种锻炼人清晰思路的科目,我们应该通过多次实践让自己的知识得到巩固。 六:源代码 #include #include #define NULL 0 #define LEN sizeof(struct L) struct L { int num; struct L *next; }; int n; int i=0; struct L *creat(int N)//建立动态循环链表. { printf("将猴子顺序编号为:\n"); struct L *head; struct L *p1,*p2; n=0; p1=p2=(struct L *)malloc(LEN); p1->num=1; printf("%d ",p1->num); head=NULL; while(p1->num<=N) { n=n+1; if(n==1) head=p1; else p2->next=p1; p2=p1; p1=(struct L *)malloc(LEN); p1->num=n+1; if(p1->num<=N) printf("%d ",p1->num); } p2->next=head;//尾指针指向头指针. printf("\n"); printf("***********************************\n"); printf("\n"); return(head); } struct L *LisDelete(struct L *head,int m)//报数为m的退出. { struct L *p,*q; int j=0; p=head; i=i+1; if(p->next==head) return(p); while(jnext; j=j+1; } q=p->next;p->next=q->next; head=p->next; printf("%d 第%d个猴子离开.\n",i,q->num); free(q); LisDelete(head,m); } ERROR() { printf("m>N或者m<=0或者N<=0!!! ERROR!\n"); } void main() { struct L *head; struct L *p; int m,N; printf("*********************************************************\n"); printf("猴子选大王:\n"); printf(" 一堆猴子都有编号,编号1,2,3...m,这群猴子(m个)按照1-m\n"); printf("的顺序围坐一圈,从第1开始数,每数到第n(nN||m<=0||N<=0) { ERROR(); } else { if(m==1) { printf("结果:第%d个猴子为大王.\n",N); } else { head=creat(N); printf(" 过程:\n"); p=LisDelete(head,m); printf("***********************************\n"); printf("结果:第%d个猴子为大王.\n",p->num); printf("***********************************\n"); } } }
展开阅读全文
提示  淘文阁 - 分享文档赚钱的网站所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:猴子选大王课程教学设计报告.doc
链接地址:https://www.taowenge.com/p-2623914.html
关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

收起
展开