【发布时间】:2015-11-14 08:46:03
【问题描述】:
如何定义我希望用户在猜数字游戏中猜的数字?
我需要遵循程序的两个示例运行,粗体字是用户的输入:
-
好的,我在想一个数字。试着猜一下。
你的猜测? 50
太高了!
你的猜测? 12
太低! 你的猜测? 112
非法猜测。您的猜测必须在 1 到 100 之间。
再试一次。你的猜测? - 20
非法猜测。您的猜测必须在 1 到 100 之间。
再试一次。你的猜测? 23***正确*****
-
想再玩一次吗? 是
好的,我在想一个数字。尝试猜测它。
你的猜测? 85
太高了!
你猜? 12
太低了!
你猜? 57***正确*****
当我/用户在第一次运行中输入数字 23 时,我无法让我的脚本输出 ***CORRECT*****。当我输入 50、12、112 和 -20 时,我得到正确的响应,但不是 23。输入 23 后,我得到“太低了!你的猜测?”
(我还没有尝试过第二次运行,因为我需要确保我可以进行第一次运行以遵循示例。)
这是我所拥有的sn-p:
void guessGame()
{
int num = 23;
int guess = 0;
int count = 1;
count = 1;
srand((unsigned int)time(NULL));
num = rand() % 100 +1;
printf("OK, I am thinking of a number. Try to guess it.\n");
printf("Your guess?\n");
scanf("%d",&guess);
while(guess != num && count != 6)
{
if(guess > 100 || guess < 1)
{
printf("Illegal guess. Your guess must be between 1 and 100.\n");
printf("Try again. Your guess?\n");
scanf("%d", &guess);
count ++;
}
else if(guess > num)
{
printf("Too high! Your guess?\n");
scanf("%d", &guess);
count ++;
}
else if(guess < num)
{
printf("Too low! Your guess?\n");
scanf("%d", &guess);
count ++;
}
}
if (guess == num)
{
printf("***CORRECT*****\n");
}
else
printf("Too many guesses\n");
printf("The number is %d\n\n", num);
}
非常感谢您的帮助。 :)
【问题讨论】:
-
要猜的数字
num是随机的;不要期望从样本中重现确切的数字。 -
num = rand() % 100 +1;将值从23更改为其他值。 -
你设置 num = 23 然后给 num 分配一个随机值吗?那么你的脚本会做它应该做的事情,并且 23 低于实际的随机数
-
如果用户在正确的范围内猜测,我可以使用 num 输出“正确”吗?例如,在第一次运行中,范围可能是 13-49。或者,它是严格随机的吗?
-
它将在
1 to 100范围内,因为您使用的是%100 + 1