收藏 分享(赏)

猴子选大王数据结构课程设计报告(内附详细注释).doc

上传人:精品资料 文档编号:8311570 上传时间:2019-06-19 格式:DOC 页数:5 大小:37.90KB
下载 相关 举报
猴子选大王数据结构课程设计报告(内附详细注释).doc_第1页
第1页 / 共5页
猴子选大王数据结构课程设计报告(内附详细注释).doc_第2页
第2页 / 共5页
猴子选大王数据结构课程设计报告(内附详细注释).doc_第3页
第3页 / 共5页
猴子选大王数据结构课程设计报告(内附详细注释).doc_第4页
第4页 / 共5页
猴子选大王数据结构课程设计报告(内附详细注释).doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、1.需求分析问题定义:一堆猴子都有编号,编号是 1,2,3n,这群猴子(n 个)按照 1-n 的顺序围坐一圈,从第 1 个开始数,每数到第 m 个,该猴子就要离开此圈,这样依次下来,直到圈中只剩下最后一只猴子,则该猴子为大王。m ,n 键盘输入,且 m#include /使用 calloc()函数void FindKing_pointer(int,int,int*);/移动指针法找大王void Initialize(int,int*);/初始化数组 整形和指针型 int main()int m,n,*ptr;printf(“输入猴子数与出局时报的数n“);scanf(“%d %d“,while

2、(nm)猴子数数For(i=0;count!=0;ptr2+)*ptr2=0 ? i+i=m ? *ptr2=i=0Count-Count=0 ? 输出大王号数printf(“输入数据有误,请重新输入!n“);printf(“输入猴子数与出局时报的数n“);scanf(“%d %d“,ptr=(int *)calloc(n,sizeof(int); Initialize(n,ptr);FindKing_pointer(m,n,ptr);free(ptr);return 0; /*在数组中依次填入 1,2,3,4,*/void Initialize(int n,int *ptr)int i;fo

3、r(i=0;in;i+)ptri=i+1;/*循环一次指针向后移一位,所指元素不为 0 时计数器加 1.移动指针,当计数器数到 m 时将指针所指元素设为 0.*/void FindKing_pointer(int m,int n,int *ptr)int i,count,*ptr2;count=n-1; /count=0 时终止循环 就是只剩一个猴子时 ptr2=ptr; / 移动 ptr2 进行查找 开始时 ptr 为多少 /calloc()为指针类型的元素分配内存时,元素被初始化为空指针for(i=0;count!=0;ptr2+)if(ptr2=ptr+n)ptr2=ptr;/*指针所指

4、元素不为 0 时计数器加 1.*/if(*ptr2!=0)i+;/*计数器数到 m 时将指针所指元素设为 0*/if(i=m)*ptr2=i=0;count-; /用于终止循环/*最后不为 0 的元素的值即为大王的编号 */for(ptr2=ptr;ptr2+)if(*ptr2!=0)printf(“第%d 个猴子是大王n“,*ptr2);break;/*思想是猴子围坐一圈,有 N 个猴子,开始数数,数到第 M 个猴子,该猴子就出列,然后再从该猴子的下一个猴子开始数到第 M 个猴子,直到只剩下一个猴子时。该猴子就是所要选得大王 */ 4.结果分析5.设计总结在课程设计中,首先要看清问题,将问题要求理解透彻,在构思要如何实现,要用到哪些函数,要用什么算法,在课程构思中选算法是一个很重要的概念,只有确定用这么算法后才能接下来的工作,将流程图画在纸上,再依次编写代码,在程序设计中,编写代码只是一个方面,调试才是关键。它是一个相当繁琐的过程,有许多新的问题需要被解决,但同时它也是一个比较重要的过程,因为在程序调试过程中,你会学到很多新的东西,从而增加你编程的经验。通过本次实习,温固了数据结构的相关知识,加深对课内所学的有关数据的逻辑结构和存储表示、数据结构的选择和应用、算法的设计和时空效率分析等课程基本内容的理解,进一步熟悉了 VC+编程环境,巩固并提高了分析问题、解决实际问题的能力。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报