先上代码:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define MAX_NUMBER 100
int main()
{
int number, guess;
srand(time(NULL));
number = rand() % MAX_NUMBER + 1;
printf("我想了一个1到%d之间的数字,你猜一猜:", MAX_NUMBER);
scanf("%d", &guess);
while (guess != number) {
if (guess < number) {
printf("你猜的数字太小了,再猜一次:");
} else {
printf("你猜的数字太大了,再猜一次:");
}
scanf("%d", &guess);
}
printf("恭喜你,猜对了!\n");
return 0;
}
在这个游戏中,程序会使用rand函数生成一个1到100之间的随机数,然后提示用户猜这个数字。用户输入猜测的数字,程序会告诉用户猜的数字是否太大或太小。当用户猜中了,程序会输出恭喜的信息。
在上面的代码中,我们使用了rand函数来生成随机数,这个函数的返回值是一个随机的整数。我们可以通过调用srand函数来设置随机数生成器的种子,这样就可以生成不同的随机数序列。
在本例中,我们使用了time函数来获取当前的系统时间,并将其作为随机数生成器的种子。这样,每次运行程序都会生成一个新的随机数序列。
我们还使用了scanf函数来读取用户输入的数字,并使用printf函数来输出提示信息。
最后,我们使用了一个while循环来不断地读取用户输入,直到用户猜中了。
这只是一个简单的猜数字游戏的示例代码,你可以根据自己的需要来修改和扩展它。例如,你可以增加游戏难度,让用户猜更大的数字范围,或者增加游戏的其
他功能,如记录用户的得分、限制用户的猜测次数等。
下面是一个扩展后的猜数字游戏的示例代码,它具有以下功能:
- 允许用户自定义数字范围;
- 记录用户的得分,并根据用户猜测的次数计算得分;
- 限制用户的猜测次数,如果用户猜测次数超过了限制,则游戏结束。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int number, guess, min, max, tries;
int score = 100;
printf("输入数字范围的下限:");
scanf("%d", &min);
printf("输入数字范围的上限:");
scanf("%d", &max);
printf("输入最多允许的猜测次数:");
scanf("%d", &tries);
srand(time(NULL));
number = rand() % (max - min + 1) + min;
printf("我想了一个%d到%d之间的数字,你猜一猜:", min, max);
scanf("%d", &guess);
tries--;
while (guess != number && tries > 0) {
if (guess < number) {
printf("你猜的数字太小了,再猜一次:");
} else {
printf("你猜的数字太大了,再猜一次:");
}
scanf("%d", &guess);
tries--;
score -= 10;
}
if (guess == number) {
printf("恭喜你,猜对了!\n");
printf("你的得分是:%d\n", score);
} else {
printf("很遗憾,你没有在规定的次数内猜中数字。\n");
}
return 0;
}
在这个游戏中,我们增加了几个新的功能:
- 允许用户自定义数字范围,使用scanf函数读取用户输入的下限和上限;
- 记录用户的得分,每猜测一次就减少10分;
- 限制用户的猜测次数,使用tries变量