八皇后问题 5 调试分析
在完整程序调试时由于太急于求成导致程序进行循环时出现无法运行的问题,逻辑错误导致程序死循环或不循环或循环一小部分,后经细心改正后才把调试工作做完。做程序真的不是三两下就能完美的做好的,正应了那句话“心急吃不了热豆腐啊”。
但对于这个程序我由于c++语言学的不到位以至于有些掺杂了c语言的有关算法,要是都用c++来编写就再好不过了。
在编写代码时,我希望能随机选择一数 X(1~92)后,能输出该种情况所对应的八个皇后的摆放方式和每个皇后所在的位置,但想了好久,就是无法实现。而且,当92种情况都输出时,前面的几十种情况无法看到,要想让摆放皇后的图形和所在具体的位置一起输出,就得修改程序让使她们一个一个地输出,这样显然比较麻烦。倘若有一种既能把八皇后的所在位置和把皇后所有情况连续输出,我感觉就应该算是一个完美的程序了,这还需要我一致的探索发掘下去才行。
9
八皇后问题
6 测试结果
6.1 遇到的问题
1)运行时有些函数的头文件未定义,导致无法进行编译;而且在调试时有些头文件的使用范畴弄混淆了;
2)如果将92种情形全部打印,则前面的几十种情况将无法显示出,要想看到前面的状态,必须添加一个控制语句,使其能一个一个的输出。 6.2 调试结果
八皇后问题结果如图1所示:
图1
10
八皇后问题 四皇后问题结果如图2所示:
图2
11
八皇后问题
7 结论
通过这次的课程设计,让我了解了八皇后这一经典的问题。同时让我更好地掌握了栈思想以及一维数组等等知识,以及一些书本上没有的东西,这对我以后的学习生涯以及将来步入社会起到很大的帮助。这次课程设计虽然花了我很多时间和精力,但很值得,因为它对我能力提高起到很大帮助。这次课程设计也提醒我以前知识的匮乏,它给我敲响了警钟,让我意识到自己基础的不扎实.当然这次实验还是有很多问题的。比如程序设计的界面不够好,一些程序并非自己所写,而是修改某些程序而成,但这些不该,在下次课程设计时不会再发生。
12
相关推荐: