V O*_* Or 3 c random numbers generator
我正在制作一个小型C程序,类似于游戏代码破坏者或Mastermind.到目前为止这是我的代码.到目前为止它所做的只是生成一个"随机"代码并打印代码数组.每次编译它时,它都会生成相同的2,2,6,3数组.任何人都可以帮我一个真正的随机数生成器吗?
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include<time.h>
#define CODELENGTH 4
#define NUMSYMBOLS 6
const int LOW = 1;
const int HIGH = 6;
void genCode (int MasterCode[])
{
int i=0;
int k;
while (i < 4){
MasterCode[i] =rand() %(HIGH-LOW+1)+LOW;
i++;
}//end while loop.
for ( k = 0 ; k < 4; k++ ) {
printf( "%d ", MasterCode[ k ] );
}
printf( "\n" );
}
void getGuess (int guess[])
{
int b[ 4 ];
int number = 0;
printf( "Please enter your list of 4 numbers between 1 and 6: " );
int j;
int k;
for ( j = 0 ; j < 4; j++ ) {
scanf( "%d", &number );
b[ j ] = number;
}
printf( "Your array has these values: " );
for ( k = 0 ; k < 4; k++ ) {
printf( "%d ", b[ k ] );
}
printf( "\n" );
}
int main (int argc, char **argv)
{
int MasterCode[4];
genCode(MasterCode);
}
Run Code Online (Sandbox Code Playgroud)
您需要在使用之前播种随机数生成器rand().通常这样做:
srand(time(NULL));
Run Code Online (Sandbox Code Playgroud)
更多信息请点击此处.