永发信息网

C语言rand产生 a-b之间的随机数~谢谢

答案:6  悬赏:20  手机版
解决时间 2021-03-27 11:08
  • 提问者网友:骨子里的高雅
  • 2021-03-26 22:16
C语言rand产生 a-b之间的随机数~谢谢
最佳答案
  • 五星知识达人网友:举杯邀酒敬孤独
  • 2021-03-26 22:52
float b=rand()/(RAND_MAX+1.0);
printf("%f\n",b);

注释:
stdlib.h头文件中有宏#define RAND_MAX 0x7fff
rand()产生一个0到0x7ffff即0到32767之间的随机数
rand()/(RAND_MAX+1.0)就等于一个0到1之间的小数了,因为rand()最大是32767最小是0,再除以32768就是一个0到1之间的小数(不能等于1),再乘以10就是一个0到10之间的数了(不等于10).最后再加1,就成了一个求1到10之间随机数的式子了.
全部回答
  • 1楼网友:孤独的牧羊人
  • 2021-03-27 03:54
引用zhaohui0923的回答:
rand() % (b - a) + arand() % (b - a+1) + a
  • 2楼网友:风格不统一
  • 2021-03-27 02:18
// 随机数种子
time_t t;
srand((unsigned) time(&t));
// 用来返回<=lr的数, 把1也设成参数的话,就是楼主大人要的东西
rnd(LONG lr)
{
return rand()%(lr-1)+1;
}
  • 3楼网友:人间朝暮
  • 2021-03-27 01:34
x=a+rank()%(b-a)
  • 4楼网友:春色三分
  • 2021-03-27 00:06
int getRand(int a,int b){

srand ( time(NULL) );
if(a>b){
return rand() % (a - b+1) + b;
}else{
return rand() % (b - a+1) + a ;
}
}
  • 5楼网友:神鬼未生
  • 2021-03-26 23:07
rand() % (b - a) + a
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯