永发信息网

这个算法什么意思

答案:2  悬赏:40  手机版
解决时间 2021-05-07 04:07
  • 提问者网友:火车头
  • 2021-05-06 11:43

int answer;

//产生一个0---100之间的随机数
answer=(int)((float)rand()/float(RAND_MAX)*100.0);
cout<<"程序已经产生一个随机数字!"<<endl;

加粗的那段是怎么回事????

最佳答案
  • 五星知识达人网友:痴妹与他
  • 2021-05-06 12:45
调用rand()随机数,产生随机数并将其转换为float型,然后除以(rand_max)*100.0,此句是先将RAND_max转换为float型,最后把产生的float型随机数转换为int型。RAND_MAX是在编译器头文件里定义的一个常量。
全部回答
  • 1楼网友:鱼芗
  • 2021-05-06 14:03

从最里面往外看,rand()产生随机数字,(float)rand(),将随机数强制转换为浮点数---作为被除数,

/ 后面的,float(RAND_MAX)*100.0) 将RAND_MAX强制转为浮点数,再乘以100,--作为除数

两个数相除后,强制用(int)转换为整型数,赋值给answer

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯