1. 程式人生 > 其它 >MySQL中一個文件疏漏的分析測試

MySQL中一個文件疏漏的分析測試

新生賽D題貪心一直WA而又debug不出來,只能用對拍拍一下子
對拍的基本思路:有正確程式/小範圍正確程式right.cpp, 你的WA程式wrong.cpp, 隨機數生成測試的程式test.cpp三個程式
test.cpp:
srand(time(0)) 首先選定時間作為隨機數種子
然後用隨機數生成序列

#include <bits/stdc++.h>
using namespace std;
int main () {
	srand(time(0));
	printf("10\n");
		printf("%d 0\n", rand() * rand() % 100000 + 1) ;
		printf("0 %d\n", rand() * rand() % 100000 + 1) ;
	for (int i = 1; i <= 8; i ++) {
		printf("%d %d\n", rand() * rand() % 100000 + 1, rand() * rand() % 100000 + 1);
	} 
	return 0;
}

RAND_MAX至少為32767,如果擔心不夠大可以再乘一個。
然後把三個程式放到同一個資料夾裡面,新建三個txt,
建立一個txt,內容如下:

g++ test.cpp -o test -g
g++ right.cpp -o right -g
g++ wrong.cpp -o wrong-g
:loop
	test.exe >1.txt
	right.exe<1.txt>2.txt
	wrong.exe<1.txt>3.txt
	fc 2.txt 3.txt
if not errorlevel 1 goto loop
pause
goto loop

前三行是對程式的編譯
後面是迴圈比較right.cpp , wrong.cpp的輸出2.txt,3.txt, 如果沒有區別就會繼續迴圈,否則就會停止,停止時就可以觀察比較結果的不同。
把這個txt檔案拓展名改為.bat指令碼檔案,就可以運行了。