以下回复参考:皆我百晓生、券券喵儿等免费微信小程序作答:
您的代码基本上是正确的,应该能够正常运行。这是一个简单的猜数字游戏,计算机随机生成一个介于 0 到 99 之间的数,用户尝试猜测这个数是什么。根据用户的猜测,程序给出提示,直到用户猜对为止。
但是,我发现了一个小问题。在您的代码中,变量 i 存储的是计算机随机生成的数,而 n 是用户猜测的数。在 while 循环中,您使用 n!=1 作为循环条件,这意味着只有当用户猜测的数字为 1 时循环才会停止。这不是您期望的行为,因为您想要的是当用户猜对随机数时停止循环。
因此,您应该将循环条件改为 n != i,这样当用户猜测的数字与计算机生成的随机数相同时,循环就会停止。修改后的代码如下:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
int i, n;
srand(time(0));
i = rand() % 100;
while (n != i) // 修改此处,将 1 改为 i
{
printf("输入你猜想的数\n");
scanf("%d", &n);
if (n > i)
printf("有点大了\n");
if (n < i)
printf("有点小了\n");
}
printf("恭喜你答对了\n");
return 0;
}
这样修改后,程序应该能够正常运行并按照预期工作。