C语言---实现猜数字游戏

                在我们进行代码实现前我们需要了解C语言中函数

                1. 函数是什么? 数学中我们常见到函数的概念。但是你了解C语言中的函数吗?

                   维基百科中对函数的定义:子程序 在计算机科学中,子程序(英语:Subroutine, procedure, function, routine, method, subprogram, callable unit),是一个大型程序中的某部分代码, 由一个或多个语句块组 成。它负责完成某项特定任务,而且相较于其他代 码,具备相对的独立性。 一般会有输入参数并有返回值,提供对过程的封装和细节的隐藏。这些代码通常被集成为软 件库。

srand函数:

                srand是种下随机种子数,你每回种下的种子不一样,用Rand得到的随机数就不一样。为了每回种下一个不一样的种子,所以就选用Time(0),Time(0)是得到当前时时间值(因为每时每刻时间是不一样的了)。

同时需要包含头文件如下:

#include<time.h>
#include<stdlib.h>
srand((unsigned int)time(NULL));//引入时间戳,以便生成随机数
int r = rand()%100+1;//生成一个1-100的随机数

          简单来说:srand()是给随机数产生一个种子;time(NULL)就是把当前的时间值作为种子;srand(time(0)):我们可以称它为启动种子,也叫随机种子数,

        将猜数字游戏分为三个部分,首先第一个构建整体的游戏流程如下:

int main()
{
	srand((unsigned int)time(NULL));//引入时间戳,以便生成随机数
	int input = 0;
	do
	{
		meau();
		scanf("%d", &input);
		switch (input)//进行选择是否进行游戏
		{
			case 1:
				game();
				break;
			case 0:
				printf("退出\n");
			default:
				printf("输入错误,请重新输入\n");
				break;
		}
	} while (input);
	return 0;
}

接着需要定义游戏初始化菜单界面:

//定义一个游戏界面菜单函数
void meau()
{
	printf("***************************\n");
	printf("*********1、start**********\n");
	printf("*********0、exit***********\n");
	printf("***************************\n");
}

接着定义game函数:

 void game()//定义游戏操作函数
{
	 int r = rand()%100+1;//生成一个1-100的随机数
	 int count = 0;
	 int guess = 0;
		 do//进行猜数字游戏比较大小
		 {
			 count++;
			 printf("猜一个数字\n");//提醒玩家进行数字输入
			 scanf("%d", &guess); //进行数字输出
			 if (guess > r)
			 {
				 printf("猜大了\n");
			 }
			 else if (guess < r)
			 {
				 printf("猜小了\n");
			 }
			 else
			 {
				 printf("猜对了!!!\n");
			 }
		 } while (guess!=r);//猜对后跳出循环,没有猜对继续进行猜数字游戏
		 printf("猜了%d次\n", count);
}

以下是我们的整个代码:

#include<stdio.h>
#include<time.h>
#include<stdlib.h>
//定义一个游戏界面菜单函数
void meau()
{
	printf("***************************\n");
	printf("*********1、start**********\n");
	printf("*********0、exit***********\n");
	printf("***************************\n");
}
 void game()//定义游戏操作函数
{
	 int r = rand()%100+1;//生成一个1-100的随机数
	 int count = 0;
	 int guess = 0;
		 do//进行猜数字游戏比较大小
		 {
			 count++;
			 printf("猜一个数字\n");//提醒玩家进行数字输入
			 scanf("%d", &guess); //进行数字输出
			 if (guess > r)
			 {
				 printf("猜大了\n");
			 }
			 else if (guess < r)
			 {
				 printf("猜小了\n");
			 }
			 else
			 {
				 printf("猜对了!!!\n");
			 }
		 } while (guess!=r);//猜对后跳出循环,没有猜对继续进行猜数字游戏
		 printf("猜了%d次\n", count);
}
int main()
{
	srand((unsigned int)time(NULL));//引入时间戳,以便生成随机数
	int input = 0;
	do
	{
		meau();
		scanf("%d", &input);
		switch (input)//进行选择是否进行游戏
		{
			case 1:
				game();
				break;
			case 0:
				printf("退出\n");
			default:
				printf("输入错误,请重新输入\n");
				break;
		}
	} while (input);
	return 0;
}

最终进行游戏

7902d83967e44ecba8da8b07a8ad6f6a.png

这样我们的猜数字游戏就成功实现啦!!!

                        

                               蟹蟹大家的来访,你们的点赞关注都会是我接下来创作更优质文章的动力~✌🏻️

 

  • 22
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值