只是个简单的问题。
我对c++很陌生。这里我创建了一个随机数生成器,它应该从1-3中得到一个随机数,然后每个数字对应于石头纸或剪刀。
问题是,它每次都要用剪刀!!我做错什么了?
#include<stdio.h>
#include<stdlib.h>
int i, a, b;
int playerschoice, compchoice;
main()
{
compchoice=rand() %3+1;
printf("compchoice=%d",compchoice);
if (compchoice == 1)
{
printf("\nThe computer is going with: Rock...\n");
b = 0;
}
else if (compchoice == 2)
{
printf("\nThe computer is going with: Paper...\n");
b = 1;
}
else if (compchoice == 3)
{
printf("\nThe computer is going with: Scissors...\n");
b = 2;
}
system("pause");
return 0;
}
最佳答案
您需要为随机数生成器设定一个值,该值在每次运行时都会不同。
在呼叫rand()
/* initialize random seed: */
srand (time(NULL));
编辑-添加了更多信息
rand()函数是一个pseudo-random number generator。这基本上意味着,给定一个初始启动条件,函数将产生一个看似随机的数字序列。
srand将为您设置初始启动条件。time(NULL)只返回自1970年1月1日以来的秒数。
查看本文以获取更多信息:http://www.cplusplus.com/articles/EywTURfi/