c语言修炼之猜数字游戏

这篇具有很好参考价值的文章主要介绍了c语言修炼之猜数字游戏。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

小伙伴们,今天来学习猜数字游戏叭!废话不多说,让我们一起开始学习叭!

思路:

一打开游戏就出现一个菜单然后可以让我们选择是进入游戏还是退出游戏!

#include<stdio.h>
void menu()
{
	printf("********************************\n");
	printf("****** 0.exit   1.play *********\n");
	printf("********************************\n");
}
int main()
{
	menu();

}

就像这样啦!就可以打印出菜单啦!此时我们要在创建一个变量input用来选择是进入游戏还是退出游戏,并且再提示一下玩家输入选择!

#include<stdio.h>
void menu()
{
	printf("********************************\n");
	printf("****** 0.exit   1.play *********\n");
	printf("********************************\n");
}
int main()
{
	int input = 0;
	menu();
	printf("请输入你的选择:>");
	scanf("%d", &input);
	
	return 0;

}

运行看看叭!

c语言修炼之猜数字游戏,c语言

能够发现没有达到我们想要的效果哦!没有进入游戏也没有退出游戏的动作!这时我们应该用switch语句,酱酱们还记得switch语法形式吗?switch语句适用于多分支的情况,其语法形式如下:

switch (常量表达式)
{
case 常量项:
		语句项;
}

利用switch语句时,再来看看效果吧 

c语言修炼之猜数字游戏,c语言

是达到了之前想要的效果,但是当我们觉得不过瘾想要再来一把时会发现游戏直接结束了,无法再开一把!这该怎么办呢?没错这里我们需要使用一个循环语句!循环语句有三种该选择哪一个呢?是while,for,还是do while呢?这里我们将选择do while语句还记得它与众不同的特点吗:先执行再判断!先玩一把结束之后再选择要不要继续!

#include<stdio.h>
void menu()
{
	printf("**********************\n");
	printf("**** 0.exit  .play ***\n");
	printf("**********************\n");
}
int main()
{
	int input = 0;
	do
	{
		menu();
		printf("请输入你选择的值:>");
		scanf("%d", &input);
		switch (input)
		{
		case 1:
			printf("进入游戏\n");
			break;
		case 0:
			printf("退出游戏\n");
			break;
		default:
			printf("输入错误\n");
			break;
		}
	} while (input);
	return 0;
}

c语言修炼之猜数字游戏,c语言

此时就能达到我们想要的效果啦!让给我们开始分装game函数叭就不再用printf了!game函数的话负责具体实现猜数字的内容!

第一步我们需要产生随机数,此处我们需要用到rand函数!不了解的小伙伴可以去cplusplus网站上去查看

c语言修炼之猜数字游戏,c语言

左上角的function表示rand是一个函数,返回类型是int,参数为空,其范围为0到RAND_MAX,在使用rand函数时必须引用头文件stdlib.h画线的部分意思需要用deepl进行翻译

c语言修炼之猜数字游戏,c语言

翻译的结果是使用rand之前要先调用srand函数,再来查一下srand函数叭 

c语言修炼之猜数字游戏,c语言

c语言修炼之猜数字游戏,c语言

 srand返回类型为空,其参数类型要为unsigned int,其主要作用是初始化随机数发生!其头文件为stdlib.h。接下来开始解决遇到的问题叭!我们要产生一个一到一百的数,该怎么得到呢?rand的值的范围是0到RAND_MAX,我们使得rand%100就能得到0到99的值再加上1就能得到1到100之间的数字啦,同时用一个变量接收这个值!一起来看看效果叭

#include<stdio.h>
#include<stdlib.h>
void menu()
{
	printf("**********************\n");
	printf("**** 0.exit  .play ***\n");
	printf("**********************\n");
}
void game()
{
	srand(1);
	int ret= rand() % 100 + 1;
	printf("%d\n", ret);
}
int main()
{
	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;
}

c语言修炼之猜数字游戏,c语言

 貌似不对呀,为啥产生的数不是随机的·而是同一个呢?问题出在哪呢?rand没问题main函数没问题,那就只能是srand出问题了。上面用的是srand(1),那换成srand(2)试试?

c语言修炼之猜数字游戏,c语言

 也是一样的欸,那是不是说明srand里需要一个会变化的参数!什么是一直变化的呢?没错就是时间!那么这里我们需要利用时间戳                                                                                                

c语言修炼之猜数字游戏,c语言

 此时就要利用time函数,再上cplusplus查一查叭

c语言修炼之猜数字游戏,c语言

 time函数返回类型是time_t,参数是指针类型,作用是获取当前时间,头文件是time.h!已经知道了这些我们再对代码进行修改叭

void game()
{
	srand((unsigned int)time(NULL));
	int ret= rand() % 100 + 1;
	printf("%d\n", ret);
}

 文章来源地址https://www.toymoban.com/news/detail-523192.html

c语言修炼之猜数字游戏,c语言

 是产生值了,但是貌似不够随机!这又是因为什么呢?好叭,问题还是出现在srand函数上!在这里我们调用一次就行,不需要玩一次调用一次!直接放在main函数中即可,再来试试叭酱酱们

c语言修炼之猜数字游戏,c语言

运行一下试试叭!

c语言修炼之猜数字游戏,c语言

此时就能达到我们想要的结果啦!在进行下一步叭,输入我们猜的数字当猜的数字比产生的数大,大,打印猜大了;比产生的数小,提示猜小了,否则提示猜对了并退出。由于一次就猜对的可能性比较小,因此这里是一个循环!

void game()
{
	int ret= rand() % 100 + 1;
	int guess = 0;
	
	while (1)
	{
		printf("请输入你想猜的值:>");
		scanf("%d", &guess);
		if (guess > ret)
		{
			printf("猜大啦\n");
		}
		else if (guess < ret)
		{
			printf("猜小了\n");
		}
		else
		{
			printf("猜对了\n");
			break;
		}
	}
}

game函数的分装就完成啦!运行一下看看叭

c语言修炼之猜数字游戏,c语言

 欧克啦,这就是猜数字游戏得过程啦,上完整代码!

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void menu()
{
	printf("**********************\n");
	printf("**** 0.exit  1.play **\n");
	printf("**********************\n");
}
void game()
{
	int ret= rand() % 100 + 1;
	int guess = 0;
	
	while (1)
	{
		printf("请输入你想猜的值:>");
		scanf("%d", &guess);
		if (guess > ret)
		{
			printf("猜大啦\n");
		}
		else if (guess < ret)
		{
			printf("猜小了\n");
		}
		else
		{
			printf("猜对了\n");
			break;
		}
	}
}
int main()
{
	int input = 0;
	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);
	return 0;
}

以上就是今天的学习啦 

 

 

 

 

 

 

 

 

 

 

 

到了这里,关于c语言修炼之猜数字游戏的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 猜数字游戏—【C语言实现】

    目录 1. 列出游戏相关功能      1.1 随机生成一个数字,让玩家猜      1.2 三种可能的情况      1.3 玩完一把,可以选择是否再玩一把,不用退出程序 2. 三种功能的思路解析                 2.1 功能一思路实现      2.2 功能二 思路实现      2.3 功能三 思路实现 3. 代码

    2024年02月02日
    浏览(29)
  • 【C语言小游戏--猜数字】

    猜数字小游戏是我们大多数人学习C语言时都会了解到的一个有趣的C语言小游戏,下面我将详细介绍该游戏的实现和编程逻辑。玩小游戏的同时,也能对C语言控制语句有更好的认识。 电脑随机生成一个1-100的数字,玩家来猜。玩家可以根据自己需要,设置每次猜的次数。如果

    2024年02月08日
    浏览(32)
  • 猜数字小游戏---C语言

    目录 前言:  猜数字游戏: 1.打印选项 2.玩家输入选项 3.根据玩家输入的值进行选择 4.重复游戏的实现 5.游戏game函数的实现 6.优化 ❤博主CSDN:啊苏要学习   ▶专栏分类:C语言◀   C语言的学习,是为我们今后学习其它语言打好基础,C生万物!   开始我们的C语言之旅吧!✈

    2023年04月24日
    浏览(40)
  • 【C语言】编写“猜数字“小游戏

    2023年9月29日, 今天给大家带来的是用C语言编写的一个猜数字小游戏,使用了循环就可以完成 首先我们需要先做一个简单的目录,这样方便多次使用,增加了游戏的可玩性,看代码: 接下来开始正文内容:   到这里一个简单的猜数字就完成了,但是当你玩几次后就会发现,随机数

    2024年02月07日
    浏览(41)
  • 【C语言初阶(四)】猜数字游戏

    ❣博主主页: 33的博客❣ ▶文章专栏分类: C语言从入门到精通◀ 🚚我的代码仓库: 33的代码仓库🚚 掌握了分支和循环的知识,我们就可以写一个有趣的代码了:猜数字游戏 游戏要求: 1.电脑自动生成1~100的随机数。 2.根据猜测数据的大小给出大了或小了的反馈,直到猜对,游

    2024年04月09日
    浏览(37)
  • PTA( 猜数字游戏)——C语言)细解

    猜数字游戏是令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too small”),相等表示猜到了。如果猜到,则结束程序。程序还要求统计猜的次数,如果

    2024年02月08日
    浏览(52)
  • 【C语言】实现猜数字游戏——随机数

    🚩 纸上得来终觉浅, 绝知此事要躬行。 🌟主页:June-Frost 🚀专栏:C语言 该篇将对 选择与循环语句 进行运用,实现 猜数字游戏 。 需求:游戏后可以选择再次进行游戏,也可以选择退出。 ⭐️ 大概实现思路: 基本框架: 选择是否玩游戏 循环部分用do while循环来实现。

    2024年02月05日
    浏览(56)
  • 【GO】go语言入门实战 —— 猜数字游戏

    程序介绍 首先生成一个介于1~100之间的随机数,然后提示玩家输入数字,并告诉玩家是猜对了还是猜错了,如果对了程序就结束,如果错了就提醒玩家是大了还是小了,然后玩家继续输入。 设置随机数 rand.Seed(seed int64) :播种 seed 为随机数种子 func time.Now() time.Time :获取当前

    2024年02月15日
    浏览(40)
  • 利用随机数生成猜数字游戏【C语言】

    自动生成随机数的范围:0-99 玩家猜数字,猜数字的过程中,根据猜测数据的大小给出大了或小了的反馈,直到猜对,游戏结束 根据游戏要求,第一步就是 先生成随机数 ,这里我们主要利用到三种函数 rand 、 srand 、 time 函数。所以下面依次介绍这三种函数。 我们来看一段代

    2024年02月10日
    浏览(42)
  • C语言第四十一弹---猜数字游戏

     ✨ 个人主页:  熬夜学编程的小林 💗 系列专栏:   【C语言详解】   【数据结构详解】 猜数字游戏 1、随机数生成 1.1、rand 1.2、srand 1.3、time 1.4、设置随机数的范围 2、猜数字游戏的分析和设计 2.1、猜数字游戏功能说明 2.2、猜数字游戏的结构分析 2.2.1、用户选择 2.2.2、生

    2024年04月11日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包