gpt4 book ai didi

c++在2个 double 之间生成一个 double

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:08:51 25 4
gpt4 key购买 nike

所以我需要在2个double之间随机生成一个double,而在这个具体情况下,就是随机生成一个GPA。我首先尝试这样做:

srand(time(NULL));

double rands1 = rand() % (4) + ((rand() % (10)) / 10.0);

这确实有效……主要是。我可以得到 0.0 到 3.9 之间的任何值,但它必须在 0.0 到 4.0 之间(含)!然而,将代码中的 4 更改为 5 也可以获得 4.1 或更高,但这并不好。

我的问题是,编写此代码的更有效方法是什么?如果有一个非常直接的答案/如果这看起来很简单,我深表歉意,但我对编码和 C++ 还很陌生。谢谢!

最佳答案

如果只是求一个小数点后一位的gpa,你可以找一个介于0和41之间的整数然后除以10得到一个小数点。例如:

double rand2 = (double)(rand()%41)/10;

rand()%41 将生成一个介于 0 和 40 之间的数字(含 0 和 40)。然后我们将其转换为 double 并除以 10。因此,如果生成的数字是 34,我们将得到 3.4 作为 double 。

要使用其他 double 作为范围,您只需将它们乘以您想要的数字后的小数位数,然后再除以该数字

//Range== 0,34 with 3 decimal places    
double rand2 = (double)(rand()%35000)/1000;

关于c++在2个 double 之间生成一个 double ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45201838/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com