沈阳航空航天大学课程设计报告
}
printf(\最后一个出列是%d号,密码是:%d\\n\ free(ppHead);//释放头结点
void instruction() {
printf(\\\n\
printf(\约瑟夫环:\\n\
printf(\ 编号为1,2,3,4?,n的n个人按顺时针方向围坐一圈,每人持有一个密\\n\
printf(\码(正整数).一开始任选一个正整数作为报数的上限值m,从第一个人开始\\n\
printf(\按顺时针方向自1开始顺序报数,报到时停止.报m的人出列,将他的密码\\n\
printf(\作为新的m值,从他在顺时针方向上的下一人开始重新从1报数,如此下去,\\n\
printf(\直到所有人全部出列为止.编程打印出列顺序.\\n\
printf(\ return 0; }
void menu(){
printf(\
约
瑟
夫
环
*****************************\\n\
printf(\
\\n\
printf(\
[1]约瑟夫环问题的阐述
\\n\
19
沈阳航空航天大学课程设计报告
printf(\ [2]按要求求解约瑟夫环
\\n\
printf(\
[0]
退
出
\\n\
printf(\
欢
迎
使
用
!
****************************\\n\}
/*主函数模块*/ int main(){
int n,m,x;
LNode *ppHead=NULL; menu(); {
printf(\请选择要执行的操作:\ scanf(\ system(\ switch(x){
case 1:
printf(\\\n\
printf(\约瑟夫环:\\n\
printf(\ 编号为1,2,3,4?,n的n个人按顺时针方向围坐一圈,每人持有一个密\\n\
printf(\码(正整数).一开始任选一个正整数作为报数的上限值m,从第一个人开始\\n\
printf(\按顺时针方向自1开始顺序报数,报到m时停止.报m的人出列,将他的密码\\n\
20
沈阳航空航天大学课程设计报告
printf(\作为新的m值,从他在顺时针方向上的下一人开始重新从1报数,如此下去,\\n\
printf(\直到所有人全部出列为止.编程打印出列顺序.\\n\
printf(\\\n\
main();
break;
case 2:
printf(\请输入总人数n:\ scanf(\
printf(\请输入开始上限数m:\
scanf(\
createList(&ppHead,n);
printf(\
printf(\出队顺序:\\n\
jose(ppHead,m);
printf(\约瑟夫环游戏结束!\\n\
main();
break;
case 0: }
exit(0); default: system(\
printf(\您选择的操作有误,请重新选择...\\n\\n\\n\main();
21
沈阳航空航天大学课程设计报告
} }
} return 0;
22
沈阳航空航天大学课程设计报告
课程设计总结: 本次课程设计涉及到的范围很广,让本人能够比较系统的对C语言和数据结构进行一次整理和复习。同时有了很多的体会和经验。 巩固了以前学过的C语言的知识,在这次课程设计中我体会到C语言超强的逻辑性,能够熟练使用VC++的编译环境,也对这两门课程有了新的认识,他们既有联系,又相互区别,在编写程序过程中要灵活应用 对数据结构的理解有待加强,算法的知识面也有待于提高。不同的人会选择不同的算法,所以即使同样的程序,不同的人必然会设计出不同的方案,所以以后的学习生活中,一定要广泛涉猎,掌握更多更好的解决问题的方法。 此次设计让我意识到程序设计是脑力劳动和体力劳动相结合的,没有平时基础的训练是不会写出高效的算法。 此次课程设计时间虽短,但却课设的过程是短暂的,但我所收获的是永恒的。它让我尝到了学习的快乐,成功的喜悦,更让我懂得了不少做人的道理。要完成一项任务或把东西学好就必须有足够的信心,持久的耐心,有面对困难无所畏惧的精神,这对我日后的学习和生活产生了深远一个影响。 指导教师评语: 指导教师(签字): 年 月 日 课程设计成绩
23