gpt4 book ai didi

c - 使用 rand() 函数的程序

转载 作者:行者123 更新时间:2023-11-30 18:54:39 25 4
gpt4 key购买 nike

我想编写一个简单的程序,其中 rand() 函数从 1,2,3 中生成一个随机数,并要求用户预测该数字。如果用户正确预测了数字,那么他就赢了,否则他就输了。这是程序-

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

int main()
{
int game;
int i;
int x;

printf("enter the expected value(0,1,2)");
scanf("%d\n",&x);
for(i=0;i<1;i++){
game=(rand()%2) + 1

if(x==game){
printf("you win!");
}

else{
printf("you loose!");
}
} return 0;

}

最佳答案

您的代码存在一些问题:

第 1 点:

    scanf("%d\n",&x);

应该是

    scanf("%d",&x);

第2点:

for(i=0;i<1;i++)

这个 for 循环实际上毫无用处。它只迭代一次。要么使用更长的计数器,要么摆脱循环。

第3点:

最好为您的 PRNG 提供独特的种子。您可能想使用srand()time(NULL)在您的函数中提供该种子。

第四点:

game=(rand()%2) + 1

应该是

game = rand() % 3; // the ; maybe a typo in your case
^
|
%3 generates either of (0,1,2)

第5点:

当您将 %rand() 一起使用时,请注意 modulo bias issue .

<小时/>

注意:

  1. main() 的推荐签名是 int main(void)
  2. 始终初始化局部变量。良好的做法。

关于c - 使用 rand() 函数的程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29939229/

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