在参加信息学比赛时,我们写完程序后常常会担心自己写的程序是否正确,即使能确定算法正确,往往也会担忧是否会在某些细节上出错。一个很好的办法:编写一个保证结果正确、编写起来很简单的程序,与你的程序输入相同的数据,若不一样,则说明你的程序可能出错了。然而,编多个测试数据,并且人工输入进两个程序通常是非常麻烦的事。我们可以编写对拍程序,来让计算机来做这种麻烦的事。这里,假设我要测试我的归并排序程序是否正确。
工具/原料
1
Windows 操作系统
2
C++编辑器、编译器
方法/步骤
2
准备一个保证正确的程序,这个程序输入输出格式必须与上面的程序完全相同。
3
准备输入数据生成程序。注意,生成的数据必须完全符合上面两个程序的输入格式。srand()、rand()为生成随机数的函数,这里不做介绍,请大家上网搜索。
4
编写对拍程序。TestSort.exe:你将要提交的程序。Sort.exe:你为了对拍写的保证正确的程序。Data.exe:输入数据生成程序。
测试结果
1
将四个程序全部编译成exe文件并放在相同目录下,运行对拍程序。
2
等待一段较长的时间,若程序一直显示“找不到差异”,那么说明你的程序很可能使正确的。如果出现“Error!”,那么你的程序是错误的,你可以利用现在生成的数据Data.txt,来调试你的程序。
注意事项
输入输出格式一致!
上一篇:linux系统怎么实现网络设置
下一篇:地摊保养技巧