生成范围为1 - 10的随机数

时间:2016-04-23 21:54:28

标签: c random range

int Width()
{
    int r = 0;
     r = rand();
     if (r <= 3640)
     {
         r = (r % (10 - 1 + 1)) + 1;
         printf("%d", r);
     }
   return number;
}

所以我在这里使用这个C代码练习使用rand()函数。据我所知,10-1应该是&#34;高&#34; - &#34;低&#34;对于我的范围,然后最后的+1应该将它转移到我想要的范围。该程序确实抛出任何错误。它只是崩溃了。

1 个答案:

答案 0 :(得分:0)

在另一个网站上闲逛,我想我可能已经弄明白了。

int number;
/* initialize random seed: */
srand ( time(NULL) );
/* Generate a random number: */
number = rand() % 10 + 1;
printf("%d", number);

这是我稍微修改过的代码块,可以满足我的需要。在使用之前,我没有意识到我必须使用rand()初始化srand(time(NULL))。然后我发现我正在考虑范围部分并用number = rand() % 10 + 1;修正,其中10是最大值,1是最小值。