猜数字游戏是一种简单而有趣的游戏,玩家需要根据提示猜出一个随机数。
//游戏菜单
void menu()
{
printf("*********************\n");
printf("* 1.play *\n");
printf("* 0.exit *\n");
printf("*********************\n");
}
这是一个使用C语言编写的函数,用于显示一个简单的游戏菜单,其中包含两个选项:“play"和"exit”。
srand((unsigned int)time(NULL));
这是一个C语言标准库函数的调用,用于生成随机数。在程序中调用该函数之前,必须先包含头文件 time.h 和 stdlib.h。
该函数的作用是为随机数生成器设置一个种子,以便生成不同的随机数序列。time(NULL) 返回当前时间的秒数,因此可以将其用作种子,以获得更随机的结果。
具体来说,srand() 函数需要传入一个 unsigned int 类型的参数作为种子。通常可以使用 time(NULL) 函数返回的时间值作为种子,因为每次程序运行时时间值都不同,从而生成的随机数也不同。因此,该函数通常在程序的开始处调用一次,以确保生成的随机数序列具有足够的随机性。
do
{
menu();
printf("请选择:");
scanf("%d", &input);
switch (input)
{
case 1:
game();
break;
case 0:
printf("退出游戏\n");
break;
default:
printf("选择错误,重新选择\n");
break;
}
} while (input);
这是一个 C 语言中的 do-while 循环结构,用于实现一个简单的游戏菜单。以下是代码的解释:
首先,调用 menu() 函数显示游戏菜单。
然后,使用 printf() 函数提示用户选择,并使用 scanf() 函数从标准输入流中读取用户的选择,并将其存储在 input 变量中。
接着,使用 switch 语句根据用户的选择执行相应的操作。如果用户选择了 1,则调用 game() 函数开始游戏;如果用户选择了 0,则输出一条消息表示游戏已退出;否则输出一条错误消息并提示用户重新选择。
最后,使用 do-while 循环结构,重复执行上述步骤,直到用户选择了退出游戏(即 input 的值为 0)。
在循环的结尾,程序将退出游戏并结束运行。
void game()
{
int ret = rand() % 100 + 1;
int num = 0;
/*printf("%d\n", ret);*/
while (1)
{
printf("请猜数字:>");
scanf("%d", &num);
if (num < ret)
{
printf("猜小了\n");
}
else if (num > ret)
{
printf("猜大了\n");
}
else
{
printf("猜对了\n");
break;
}
}
}
这是一个 C 语言函数,用于实现一个简单的猜数字游戏。以下是代码的解释:
首先,使用 rand() 函数生成一个 1~100 之间的随机整数,将其存储在 ret 变量中。
然后,使用 while 循环结构来实现游戏的核心逻辑。在每一轮循环中,使用 printf() 函数提示用户输入猜测的数字,并使用 scanf() 函数从标准输入流中读取用户的输入,并将其存储在 num 变量中。
接着,使用 if-else 结构判断用户的猜测与随机数 ret 的大小关系,并输出相应的提示信息。如果猜测的数字比随机数小,则提示用户猜小了;如果猜测的数字比随机数大,则提示用户猜大了;如果猜测的数字与随机数相等,则输出一条恭喜信息,并使用 break 语句跳出循环。
最后,使用 game() 函数结束,返回到主函数中。
该函数实现了一个简单的猜数字游戏,其中随机数的生成使用了 rand() 函数,循环结构和条件语句则实现了游戏的核心逻辑。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<windows.h>
#include<stdlib.h>
#include<time.h>
void game()
{
int ret = rand() % 100 + 1;
int num = 0;
/*printf("%d\n", ret);*/
while (1)
{
printf("请猜数字:>");
scanf("%d", &num);
if (num < ret)
{
printf("猜小了\n");
}
else if (num > ret)
{
printf("猜大了\n");
}
else
{
printf("猜对了\n");
break;
}
}
}
//游戏菜单
void menu()
{
printf("*********************\n");
printf("* 1.play *\n");
printf("* 0.exit *\n");
printf("*********************\n");
}
int main()
{
srand((unsigned int)time(NULL));
int input = 0;
do
{
menu();
printf("请选择:");
scanf("%d", &input);
switch (input)
{
case 1:
game();
break;
case 0:
printf("退出游戏\n");
break;
default:
printf("选择错误,重新选择\n");
break;
}
} while (input);
return 0;
}