目录
前言
大家好,我是博客的一枚新人,也是在此写下本人的第一篇文章,C语言实现猜数字游戏,希望对各位有帮助。
一、步骤
1.头文件
首先头文件<stdio.h>一定要的,因为用到了srand函数和rand函数所以就需要头文件<stdlib.h>
#include<stdio.h>
#include<stdlib.h>
2.打印一个菜单
打印出菜单提示可选选项
void menu()
{
printf("******1.play******\n");
printf("******2.exit******\n");
}
3.随机数的获取
猜数字游戏中需要得到一个随机数让我们猜,这里可以通过srand函数和rand函数来实现,使用srand函数设置随机数种子,通过rand函数生成随机数,这里给个生成10个100以内随机数的例子
#include<stdio.h>
int main()
{
int i;
srand((unsigned int)time(NULL));
for (i = 1; i <= 10; i++)
{
int ret = rand() % 100 + 1;//让随机数模上100加1,使其变成1~100以内的数
printf("%d\n", ret);
}
}
这里要说一下,如果通过循环写随机数,srand函数不能放入循环中,因为两次调用srand函数之间的时间间隔不超过1秒,会重置随机数种子,使两次得到的随机数相同 ,所以,切记,srand函数不要放入循环中。
4.定义一个函数用于游戏的运行
通过定义一个函数,玩家猜的数字进入函数中,会与给出的随机数进行比较,提示玩家猜大了还是猜小了或是才对了退出函数进行下一次游戏。
void game()
{
int ret,guess;
ret = rand() % 100 + 1;
while (1)
{
printf("请猜数字:>");
scanf("%d", &guess);
if (guess < ret)
printf("猜小了\n");
else if (guess > ret)
printf("猜大了\n");
else
break;
}
printf("恭喜你,猜对了\n");
}
5.主函数
通过do while循环和switch语句,玩家在1和2中选择,选1进入定义game函数中进行游戏,选2则退出游戏重新选择,如果选的既不是1也不是2,就会提示玩家输入错了。
int main()
{
int input = 0;
srand((unsigned int)time(NULL));
do
{
menu();
printf("请输入数字:>");
scanf("%d", &input);
switch (input)
{
case 1: game(); break;
case 2:printf("退出游戏\n"); break;
default:printf("数字错误,请正确输入");
}
} while (1);
return 0;
}
二、整体的代码实现
这把整个猜数字的代码放在这了,也在上面写了注释方便理解。
#include<stdio.h>
#include<stdlib.h>
void menu()
{
printf("******1.play******\n");//输入菜单提供选择
printf("******2.exit******\n");
}
void game() //整个游戏的运行函数
{
int ret,guess;
ret = rand() % 100 + 1;//生成随机数
while (1)
{
printf("请猜数字:>");
scanf("%d", &guess);//输入猜的数字
if (guess < ret) //判断猜的对与错
printf("猜小了\n");
else if (guess > ret)
printf("猜大了\n");
else
break;
}
printf("恭喜你,猜对了\n");
}
int main()
{
int input = 0;
srand((unsigned int)time(NULL));//设置种子
do
{
menu();
printf("请输入数字:>");
scanf("%d", &input);
switch (input) //用switch函数实现进入或退出游戏
{
case 1: game(); break;
case 2:printf("退出游戏\n"); break;
default:printf("数字错误,请正确输入");
}
} while (1);
return 0;
}
三、代码的运行和游戏的使用
代码敲完了,就可以试玩一下,代码运行后进入菜单界面,选1进行游戏,选2退出游戏并从新选择
选1进入游戏后就可以进行猜数字了,猜对后会从新进入菜单进行从新选择
感兴趣的话可以自己试一下这个游戏,看看最快多少次猜出来。
写在最后
以上就是用C语言实现猜数字游戏,是本人的第一篇文章,新人初入,如有错误,请多指教。