我想生成一个包含从-100到100的随机数的列表。到目前为止,我的代码只是从-50到50.
for(int line=0;line<100;line++) //reads individual lines and compares them
{
ofs<<rand()%101 + (-50)<<endl;
}
如果有人能指出我正确的方向,我真的很感激!
答案 0 :(得分:2)
更改为%201
和+(-100)
。一点点实验就可以解决这个问题。
答案 1 :(得分:0)
请注意,您需要-100到+100之间的值,这是200个值的范围,所以您真的想要:
rand() % 200 // possible off-by-one error
这将给你0..199。为了更接近你想要的范围,减去99:
(rand() % 200) - 99
这将为您提供范围-99 .. + 100。这更接近你想要的。
你现在应该可以回去调整以获得你真正想要的范围。
答案 2 :(得分:0)
rand() %201 - 100
工作正常