使用rand函数的时候,将生成的随机数a当作参数放到了下一需要生成的随机数b中,程序会在运行的时候突然结束
int main() {
srand(time(NULL));
int a;
int n = 20;
int b;
while (1) {
a = rand() % n + 1, b = rand() % (n - a) + 1;
cout << a << "\t" << b << endl;
}
return 0;
}
定义一个random的随机数打表生成器,但是太长了,虽然解决了生成的问题,但能使用的范围有限。
不会再出现突然停止运行的情况,并且不用再一次打表
你这代码是有问题的啊。如果随机数是n-1的话,那么a的值就是n,那b就是随机数对0进行求余,会崩溃掉的
建议在末尾添加
system("pause");
前面修改;
srand((int)time(NULL));