使用以下原型编写一个函数。int getRandomIntFrom0ToK(int K) 函数调用随机数生成器,该生成器生成一个均匀分布在区间 [0,1] 中的随机值,对于正整数 K,返回一个均匀分布在整数 {0,1,2, 上的随机数。 ..K}。编写一个程序来测试这个函数,它表明你的函数生成的随机整数以大致相等的概率命中 {0,1,2,...K} 中的每个数字。
那么,为什么有两个区间呢?
{0,K} 是可以理解的,但为什么需要 [0,1] 呢?
到目前为止我不知道我在做什么:
#include <stdio.h>
int getRandomIntFrom0toK(int K)
{
int i=0;
printf("enter k:");
scanf("%d",&K);
while (i<K)
{
int num=(rand()%(K-1)+1);
printf("%d\n",num);
i++;
}
}
int main(void)
{
int result=getRandomIntFrom0toK(1+rand()%(1));
return 0;
}