c语言中如何产生1或0随机数
2个回答
展开全部
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之间随机数的式子了.
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之间随机数的式子了.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询