c语言课程设计报告数独

发布 2022-10-05 04:43:28 阅读 7628

c语言课程设计报告。

设计名称 c语言课程设计

专业班级。姓名。

学号。指导教师。

实习时间。成绩。

目录。一、设计目的 2

二、设计内容 3

三、详细设计说明 4

四、软件使用说明 6

五、设计总结(课程设计心得与体会) 8

六、附录1:参考文献 9

七、附录2:部分程序清单(带有较详细的注释) 10

八、教师评语 13

通过课程设计的实践环节的教学,可以加深学生对课堂所学基础知识的掌握与理解,提高学生对所学内容的综合运用能力;同时也可以通过查询相关资料,培养学生自学能力、接受新知识的能力,提高学习兴趣;增强学生程序设计能力,掌握编程技巧,并可培养学生实际上机调试程序的能力。“理论与实践”相结合,使学生得到很好的锻炼,为以后学习、工作打下坚实的基础。每个学生需要独立完成教师安排的设计题目或由学生自拟实际的设计题目,但自拟自拟题目须经指导教师批准方可生效。

1、 开发一款“数独”小游戏(限最多1人完成)

规则:将数字1-9放置在每个小格里,使得每一行、没一列、每一个3*3的方框里都没有重复的数字即可。

要求:(1)、字符界面完成即可(图形界面更好,有加分)

(2)、可以没有**线。

(3)、原有的36个数字及位置随机产生,原有数字越多,游戏越简单。可以由用户输入原有数字的个数,以控制游戏难度;

(4)、其它空格处的数字由玩家从键盘输入,当输入的某个数字违背了规则,则游戏以失败结束,显示“failure!“;当所有空格处数字均已经填上,并且没有违背规则,则游戏以成功结束,显示“success!”。

1.数独小游戏说明。

数独游戏在9×9的方格内进行,分为3×3的小方格,被称为“区”:区数独游戏的目的是根据下列规则,用1至9之间的数字填满空格,一个格子只能填入一个数字。每个数字在每一行只能出现一次。

每个数字在每一列只能出现一次。每个数字在每一区只能出现一次。

1>产生原始数字:由系统产生若干数字(1~81),作为游戏的原始数字供玩家进行数独游戏。

2>退出系统: 用户填完数独,系统判断正误,然后退出系统。

2.数独游戏流程图。

1)系统要求:win98以上操作系统;

2) 语言平台:tc++或vc++6.0;

运行程序看到如下界面:

输入数据 运行结果。

通过第18周这个星期的程序设计,我从中得到了许多的经验以及软件设计的一些新的思路;从数独游戏的设计以及分析中,本人从中理解到了数据结构对于计算机软件设计的重要性,它的使用,可以改变一个软件的运行周期,也可以将软件的思路从繁化简,并且都能够通过数据结构的相关引导,将本身以前编程思想进行扩充,发展;这也是在这次课程设计中我所获益的地方。

随着时间的推移,课程设计也即将结束了,但这个学期数据结构的学习还是具有相当大的意义,它从一个程度上改变了我们的编程思想,如何将一个程序快速而又准备的进行编写,进行编译,都成为了我们思考的重点,也通过这一个学期的学习,我们将数据结构的思想带入到了我们以后的编程学习中去。在这个阶段,我也明白了,好的思想,不能提留于字面上的认知,还需要的是平时多练多写一些相关的程序,并且通过修改,加入新的算法去尝试改变自己的一些编程思想。保持更新算法的速度,这才是关键。

课程设计已经接近尾声了,但它给我的不只是程序设计上的满足,更重要的是对自己编程思想的一次更新,以及对算法的一个全新的认识!

1]谭浩强。 c程序设计(第三版) .北京:清华大学出版社, 2005

2]谭浩强。 c程序设计题解与上机指导(第三版) .北京:清华大学。

出版社, 2005

3] 刘振安,刘燕君,孙忱。 c++语言课程设计。北京:高等教育出版社,2003

4] 陈志泊, 张海燕, 王春玲。 visual c++程序设计。 中国铁道出版社 ,2005

5] 吕凤哲,c++语言程序设计(第二版).北京:电子工业出版社,2005

6] 殷人昆,陶永雷等。数据结构(用面向对象方法与c++ 北京:清华大学出版社,1999

7] 严蔚敏,吴伟民,数据结构.北京:清华大学出版社,1997

8] 李春葆。数据结构—考研指导。北京:清华大学出版社,2002[9] 陈慧南.数据结构—c++语言描述.北京:人民邮电出版社,int result=0; /结果数。

int a[9][9];

for(int i=0;i<9;i++)

printf("请输入第%d行的9个数:",i+1);

for(int j=0;j<9;j++)

scanf("%d",&a[i][j]);

printf("数独的解为:");

sudoku(a,0);

if(result==0)

printf("此数独无解!")

return 0;

/输出可行的解。

void print(int a[9][9])

bool check(int a[9][9],int i,int j,int k)

int m,n;

/判断行。for(n=0;n<9;n++)

if(a[i][n] =k)

return false;}

/判断列。for(m=0;m<9;m++)

if(a[m][j] =k)

return false;}

/判断所在小九宫格。

int t1=(i/3)*3,t2=(j/3)*3;

for(m=t1;m

/可行,返回true

return true;

/数独求解函数。

void sudoku(int a[9][9],int n)

int temp[9][9];

int i,j;

for(i=0;i<9;i++)

i=n/9; j=n%9; /求出第n个数的行数和列数。

if(a[i][j] !0) /已经有原始数据。

if(n ==80) /是最后一个格子,输出可行解。

print(temp);

else //不是最后一个格子,求下一个格子。

sudoku(temp,n+1);

else //没有数据。

for(int k=1;k<=9;k++)

C语言课程设计报告 组数游戏

c语。言。程。序。设。计。题目 组数游戏。班级序号 05507120 学号 20071002806 姓名 管兵。指导老师 刘文中。c语言是一种编译型程序设计语言,编程设计是学习该语言的一个重要环节。通过温习已学的知识,在上机实践中熟悉c语言的编程环境,进而达到能够编写较复杂程序并将其实际应用的程度。...

c语言课程设计报告 课程设计报告

周口师范学院。课程设计报告。院 系 计算机科学与技术学院 班级。学生姓名学号。设计题目 职工工资管理系统。完成日期 年月日 课程设计任务书。设计题目 工资管理系统 教研室主任指导教师 年月日。摘要11设计内容 任务及具体要求2 1.1设计内容2 1.2设计任务及具体要求2 2概要设计3 2.1该系统...

C语言课程设计报告

华中科技大学计算机科学与技术学院。题目 专业 班级 学号 姓名 成绩 指导教师 完成日期 2016年月日。目录。一 系统需求分析 1 二 总体设计 2 三 数据结构设计 3 四 详细设计 4 五 系统实现 5 六 运行测试与结果分析 6 七 总结 7 八 参考文献 8 九 指导教师评语 9 对所要解...