gpt4 book ai didi

根据机会选择三种结果之一

转载 作者:太空宇宙 更新时间:2023-11-04 06:20:55 25 4
gpt4 key购买 nike

我是 C/C++ 新手。我想编写一个程序,25% 的时间打印“马”,50% 的时间打印“狗”,25% 的时间打印“猫”。

到目前为止,我有以下代码:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
srand(time(0));

if ((rand() % 100) < 25) {
printf("horse\n");
}
if ((rand() % 100) < 50) {
printf("dog\n");
}
if ((rand() % 100) < 25) {
printf("cat\n");
}

return 0;
}

我的问题是它有时打印几件东西,有时什么都不打印。我只想每次运行打印一件东西。

最佳答案

试试这个:

int main()
{
srand(time(0));
int percent = rand() % 100;

if (percent < 25) {
printf("horse\n");
} else if (percent < 75) {
printf("dog\n");
} else {
printf("cat\n");
}

return 0;
}

您的代码的问题在于您正在为每个结果“滚动”。这使得所有结果彼此独立。我在上面所做的是滚动随机数一次。然后我们查看每个结果的累积概率。这确保了只有一个结果会运行。还要注意 else if 的使用。

关于根据机会选择三种结果之一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35211355/

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