请问c++高手,下面这个程序是什么意思,请详细解释一下?X=rand()%100; Y=rand()%100;

如题所述

rand() 是一个产生随机数的函数,使用 rand 之前一般还是用 srand 来设置随机数的种子。
rand()%100 ,对 100 取模,结果都是 0~99,所以这两个语句的作用是将 x 和 y 赋值为 0~99之间的随机数。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-09-05
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;

int main()
{
srand(time(0));//设置随机种子
int x = rand() % 100;//rand()随机获得一个0到RAND_MAX之间的整数,与100
//求余,就是要获得0到100之间的随机数
cout << x << endl;
}追问

srand(time(0));若把0改为其他数如1,为什么程序就出现错误了?rand()随机获得一个0到RAND_MAX之间的整数,与100求余,就是要获得0到100之间的随机数,这句话是什么意思?请先系解释一下?另有分相送。

追答

time(long *)说明它接受的参数是一个指向long类型的指针,0表示传递的参数是个空指针。比如int a = 10; srand(&a);是可以的,这句话只是为rand()设置一个起始的值,如果没这句,rand()得到的永远是一个相同的值。int x = rand();会随机得到一个数,这个数在0到RAND_MAX之间,这个数与100求余,当然余数不会大于100了,只能是0到100之间的数。
不清楚,可以追问。

第2个回答  2011-09-05
随机给X和Y复制在0~99之间的一个数
相似回答