if(n==1) {
for(i=1;i<=m;i++)
printf(\要删除的猴子号为:%d\\n\
printf(\猴子大王的编号是:%d\\n\
} else {
for(i=1;i p=p->next; q=q->next; if(i==n-1) { printf(\要删除的猴子号为:%d\\n\s=q; q=q->next;//q即为被点到的猴子 p->next=q;//删除q结点 free(s);//释放内存 i=0;//计数器清零,重新开始计数 } } m--; if(m==1) break; } printf(\猴子大王的编号是:%d\\n\此时的结点就是大王 } } ① 在相关有效的提示信息后输入m,n: printf(\请输入猴子的总数:\scanf(\ printf(\ printf(\请输入的周期数:\scanf(\ ② 通过for语句,为m只猴子申请m-1个节点,并将从1—m的猴子依次放入前m-1个节点中, 将第m个猴子放入head结点中。 printf(\对猴子进行编号:\\n\\n\ head=q=p=(monkey *)malloc(sizeof(monkey)); for(i=1;i { q=(monkey *)malloc(sizeof(monkey)); q->data=i; p->next=q; p=q; printf(\第%d位猴子的编号是%d\\n\ } q->next=head; head->data=m; p=head; q=p->next; printf(\第%d位猴子的编号是%d\\n\printf(\ 构建好的具有m个结点单链表 m 1 2 3 m-1 head p q 4、对具体的m个猴子,分不同的情况找出大王: ① 当m==1时,不论n为何值,大王就是这个编号为1的猴子; 如:if(m==1) printf(\猴子大王的编号是:1\\n\ ② 当m!=1,但n=1时,前m-1个猴子均要删除,最后留下的第m个猴子就是大王; 如:else if(m!=1) { if(n==1) { for(i=1;i<=m;i++) printf(\要删除的猴子号为:%d\\n\ printf(\猴子大王的编号是:%d\\n\ } ③ 当m!=1,但n!=1时,根具具体的代码(如下)求出大王。 如:else { for(i=1;i p=p->next; q=q->next; } if(i==n-1) { } if(m==1) break; } printf(\要删除的猴子号为:%d\\n\s=q; q=q->next;//q即为被点到的猴子 p->next=q;//删除q结点 free(s);//释放内存 i=0;//计数器清零,重新开始计数 m--; printf(\猴子大王的编号是:%d\\n\此时的结点就是大王 } } 流程图如下: 三、测试及运行结果 1、根据提示信息输入相对应的m,n值 2、对猴子进行编号,并且通过循环单链表对猴子进行删除 3、最后显示最后留下来的猴子的号码,即为猴子大王 四、总结 本次课程设计在整整三天的时间内得以完成,全部内容主要包括:引言,课题设计背景,详细设计,设计结果及分析等方面的内容,主要通过上网收集资料,查找参考书目,了解图书管理的设计背景,明确设计方向和内容,在此基础上形成了该课程设计的的基础框架。再进行源代码的创作以及整合,并及时上级进行调试,保证代码的有效性。具体内容在程序设计各章节均有体现。在本次课程设计中,我收获了许多。 首先,在课程设计中通过对相关资料的搜索,是我对图书管理方面的流程有了一定的认识,更重要的是在看到现象的同时我看到了它的本质,程序设计确实是一门神奇的工具,它可以通过普普通通的程序代码实现很多法在的流程,在减少人力劳动的同时,展现着科学的魅力。这样是我更加清楚地认识到自身存在的差距,所学的那点知识是远远不够的,学无止境才是真道理。 其次,课程设计的主要内容和目的是解决实际问题,同时运用所学的知识。这是我认识到了将知识活学活用的重要性。以往的我们只是简简单单的将书本上的知识以模板的形式刻入脑袋中,而在面对实际问题时却往往不知所措,这是理论泛滥带来的直接后果。这次的实践,让我将上学期所学的C与语言在实际的操作运用中进一步巩固,对于那些没有学透的知识,如,函数调用,结构体等,在不停摸索,商讨的过程中最终将它们一一解决,同时也新增了许多没有学到过的内容。 最后,对于我来说,独立完成这项课程设计是十分困难的,在学习和复习知识的过程中,难免要请教同学老师,他们的热心,让我感受到了团队的力量和团队的温暖,使我能顺利的完成任务。 课程设计的结束并不代表着学习的结束。这次的设计,把我带入到了一个全新的不曾接触过的领域,让我在以往只是注重操作的基础上,更多的思考到了,这是如何实现的,运用我所学到的知识是不是可以同样做出这样的网站,实现不一样的操作,达到同样的效果?我似乎有所领悟了,学习的本质不是让你牢牢的掌握一个知识,而是让你掌握一种方法,一种思想。同时,我知识的局限是毋庸置疑的,在纵多高级语言中,如,C++,JAVA ,C#,C语言编程是我目前唯一能做到的,并且还做得很不完善,所以在以后的学习中一定要抓紧现在的大好时光扩充自己的知识储备,掌握更多的方法,为将来实现更多领域功能所用!同时本次课程设计让我学习知识的同时,也锻炼了自己面对新问题时的抗压能力,直面困难,不抛弃不放弃,坚持到底!在以后的学习和生活中,我将发扬这些优点,劈荆斩浪,挑战自我,一步一步往前走。由于时间有限,本人水平有限,报告中可能存在诸多不完善之处,还望见谅。 本次课程设计过程中,指导老师刘老师给了我细心地指导。同学们也给了我极大地帮助。在程序的编写过程中由于个人知识的局限,导致有许多的问题一时不能发现,耗费了大量的时间却也得不到及时有效地解决,思路也不够开阔,而时间有十分紧张。问题接踵而来时,我一度的不知所措,幸好有老师和同学们,在我遇到困难的时候,在我想放弃的时候不断的支持我,鼓励我,帮助我分