【发布时间】:2021-05-31 18:00:44
【问题描述】:
我是 C 的新手,我正在编写一个简单的代码来获取一个随机数。 我试着做一个游戏或多或少(随机数和玩家写一个数字) 但是当我在终端中启动代码时,我总是得到相同的数字。 这正常吗? 如果没有,我该如何修复它?
#include <stdio.h>
#include <stdlib.h>
int main() {
int essais = 10;
int secret;
int number;
int win = 0;
secret = rand()%100;
while (essais > 0 && win != 1){
printf("Quel est le nombre secret ? \n");
scanf("%d",&number);
if (number == secret){
printf("Gagné !\n");
win++;
}
else if (number < secret) {
printf("Non c'est plus :/\n");
essais--;
printf("Il vous reste %d essais\n",essais);
}
else{
printf("Non c'est moins :/\n");
essais--;
printf("Il vous reste %d essais\n",essais);
}
if (essais == 0)
printf("Vous n'avez plus d'essais :(, vous aurez plus de chance la prochaine fois. Le nombre était %d",secret);
}
}
PS:对不起,我是法国人,所以我用法语编写了代码和消息,但问题不在这里
【问题讨论】:
-
您必须为它播种 一次,例如
srand(time(NULL));否则您每次都会得到相同的(非随机)序列,这仅在调试时有用。跨度> -
如果不调用
srand(),则相当于srand(1)。