我使用的是Ubuntu 10.10,我想用几次随机测试来测试我的C++程序,所以我想生成它们。我写发电机:生成随机测试
// gen.cpp
#include <iostream>
#include <cstdio>
#include <ctime>
#include <cstdlib>
using namespace std;
int main() {
srand(time(NULL));
int n=rand()%100;
int k=rand()%n+1;
printf("%d %d\n", n,k);
for(int i=0; i<n; i++) {
int a = rand()%100;
printf("%d\n", a);
}
return 0;
}
在终端输入然后:
for((i=0; i<10; i++)); do ./gen > $i.in; done
但结果是,所有的* .in文件包含相同的数字。当我输入:
./gen > 0.in
./gen > 1.in
等等,那么一切都OK - 所有* .in文件是不同的。但我不想在每次需要时都手动创建它们。我想循环做这件事。为什么是这样,我该如何解决这个问题?
太感谢你了! :-) – xan