C语言实现猜数字游戏的两种方法

目录
  • 前言
  • 一、游戏描述
  • 二、代码实现
    • 1.生成游戏菜单
    • 2.构建主函数
    • 3.构建游戏函数
  • 三、二分法实现猜数

前言

猜数字小游戏是我们大多数人学习C语言时都会了解到的一个有趣的C语言小游戏,下面我将详细介绍该游戏的实现和编程逻辑。并用二分法速通该小游戏。玩小游戏的同时,也能对C语言控制语句有更好的认识。

一、游戏描述

游戏内容

顾名思义,该程序让系统随机生成一个0-100的整数,让玩家来猜,玩家猜数字后,系统给予玩家回馈并且统计玩家猜的次数,直到玩家猜对为止。

游戏方法

1、生成游戏菜单 1. play(进入游戏) 0. exit (退出游戏)
2、使用循环语句,构建游戏框架,使玩家可以进行多次游戏,直到猜对为止。
3、设计游戏具体思路,使系统生成一个随机数,让玩家输入一个数字,然后两个数字对比,根据系统反馈信息,逐渐锁定目标。

二、代码实现

1.生成游戏菜单

(1)  void menu()

(2)效果显示

2.构建主函数

int main()函数

使用 do--while() 循环,玩家进行多次猜数。用switch语句,控制玩游戏还是,退出游戏。

有时程序需要一个规定范围内的随机数。要将随机数的范围限制在 1 和某个最大值 max 之间的整数,可以使用以下公式:
number = rand() % max + 1;
例如,要生成 1-10 的随机数来代表骰子的点数,则可以使用以下语句:
dice = rand() % 610+ 1;

3.构建游戏函数

游戏效果演示 :

三、二分法实现猜数

如果使用二分法进行猜100以内的任何一个随机数,最多七次就可以正确猜对该随机数。

二分法又可以被称为二分查找,它描述了在有序集合中搜索特定值的过程。广义的二分查找是将问题的规模尽可能的缩小到原有的一半。

程序通过二分法不断缩小猜测范围, 直到猜中n
例如n = 93
程序第一次猜测50, 判断数值太小
第二次猜测75,判断数值太小
第三次猜测87,判断数值太小
第四次次猜测93, ringht

如果93不对,我们还能继续根据反馈缩小范围,最多七次就可以猜对答案

代码附上:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>//time系统时间头文件
void menu()//创建游戏菜单
{
	printf("**************\n");
	printf("****1.play****\n");
	printf("****0.exit****\n");
	printf("**************\n");
 }
void playgame()
{
	int magic=rand()%100+1;//随机一个1-100的整数
	int guess;
	int counter=0;//计数器,初始为0
	while(1)
	{
		do{
		    printf("请猜一个数字:");//提示用户进行猜数字游戏,输入一个整数
		    scanf("%d",&guess);
		    counter++;
		    if(guess>magic)//根据比较结果,提示用户高了,低了,或是猜对了.
		    printf("太大了!\n");
		    else if(guess<magic)
		    printf("太小了!\n");
		else
		    printf("right!\n");
	    }while(guess!=magic);
	printf("您一共猜了%d次,你真是太棒了!\n",counter);
	}
}
int main()
{
	int input=0;
	srand((unsigned int)time(0));//time(0)得到的是时间戳,对应头文件#include <time.h>
	do{
		menu();
	    scanf("%d",&input);
	    switch(input)
	    {
	    	case 1:
	    		playgame();
	    		break;
	        case 0:
	        	exit(0);
	        	break;
	        default:
	        printf("输入错误!\n");
		}
	}while(input);
	return 0;
}

到此这篇关于C语言实现猜数字游戏的两种方法的文章就介绍到这了,更多相关C语言 猜数字内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • C语言实现猜数字大小的游戏

    本文实例为大家分享了C语言实现猜数字大小的具体代码,供大家参考,具体内容如下 void menu() void menu() { printf("******** 猜数字游戏 ********\n"); printf("*********** 1.开始 *************\n"); printf("*********** 0.退出 *************\n"); } 简单的一个菜单用于显示. void game() void gam

  • C语言实现猜数字游戏

    本文实例为大家分享了C语言猜数字的具体代码,供大家参考,具体内容如下 题目:电脑随机给出一个数字,在一定范围内猜,有提示 问题分析: 电脑根据函数随机给出一个范围内的数字: 用户输入数字,去猜大小 对比数字,电脑给出提示 不断循环,直到猜正确 注意: 因为随机函数rand()是特殊的函数,计算机不会实现真正的随机数,所以需要一个seek来传给 rand(). 代码如下: #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<

  • C语言实现猜数字小游戏

    本文实例为大家分享了C语言猜数字的具体代码,供大家参考,具体内容如下 一.描述 猜数字游戏. 二. 程序 使用srand((unsigned)time(NULL)),产生随机数种子. int random = rand() % 100 + 1,产生0~100之间的随机数. 应加上头文件#include<time.h> #include<stdio.h> #include<windows.h> #include<time.h> void menu(){ pri

  • C语言实现简单猜数字小游戏

    本文实例为大家分享了Java实现图片旋转的具体代码,供大家参考,具体内容如下 猜数字游戏是令游戏机随机产生一个100以内的正整数 用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较 并提示大了("Too big"),还是小了("Too small"),相等表示猜到了 如果猜到,则结束程序.程序还要求统计猜的次数,如果1次猜出该数,提示"Bingo!" 如果3次以内猜到该数,则提示"Lucky You!"

  • 利用C语言实现猜数字小游戏

    本文实例为大家分享了C语言实现猜数字小游戏的具体代码,供大家参考,具体内容如下 实现猜数字的游戏: 要用程序完成以下几步: 1.电脑自动生成随机数(1到100之间的数字) 2.玩家输入自己猜的数字(输入0 -- 100之间的数字) 3.猜对了就输入:猜对了 猜错了就输入:猜大了,或者是猜小了 4.可以多次玩这个游戏. 任何程序都要从main函数开始去看: 找到下面程序中的main函数从那里开始分析: #define _CRT_SECURE_NO_WARNINGS 1 #include <stdi

  • 基于C语言实现猜数字游戏

    前言 系统生成一个[1,100]之间数字,用户随便输入一个整数,如果用户输入的数字比系统生成的数字小,提示"猜低了",如果用户输入的数字比系统生成的数字大提示猜高了,如果相同,提示猜对了. 一.先生成一个[1,100]的随机整数 C语言的标准库中已经包含了很多现成的功能,rand可以生成一个随机整数,可以查阅cplusplus文档.浏览器输入www.cplusplus.com.cstdlib这是C++风格的写法,stdlib.h是C语言风格的写法,C++也可以用stdlib.h.C语言

  • 利用C语言实现猜数字游戏

    本文实例为大家分享了C语言实现猜数字游戏的具体代码,供大家参考,具体内容如下 实现效果如图: 代码如下: #include<stdio.h> #include<stdlib.h> #include<time.h> int main() { int Guess,Num; //Guess猜数,Num随机数 int Next; //下一次执行 do { system("cls"); //清屏 printf("-------------------

  • C语言代码实现猜数字

    本文实例为大家分享了C语言代码实现猜数字的具体代码,供大家参考,具体内容如下 题目描述 猜数字游戏,顾名思义,就是需要人们猜测一个未知但已确定的数.其中,这个未知但要确定的数就要由编写程序随机来产生,当这个数生成后我们猜数字,程序告诉我们猜的高了,低了,或猜对了来提示我们猜数. 代码实现 #include <stdio.h> #include <stdlib.h> #include <time.h> void Guess_num(void) { int n; char

  • C语言游戏之猜数字

    本文实例为大家分享了C语言实现猜数字游戏的具体代码,供大家参考,具体内容如下 标题 1-100之间我已经想好了一个数了,看你能不能猜到,五次机会哦! 代码在此,请求出战! #include<stdio.h> #include<stdlib.h> #include<time.h> int main() { int c; puts("这是一个神奇的猜数字小游戏,如果你想玩的话,请按123继续,不想玩啊就按321"); scanf_s("%d&q

  • C语言实现简单猜数字游戏

    前言 对于c语言初学者来说用c语言实现猜数字游戏是基本的问题,本篇文章会细致的讲解如何用代码来实现猜数字游戏.希望读者在阅读本篇博客前学习玩分支与循环和最基本的c语言语法知识. 提示:以下是本篇文章正文内容,下面案例可供参考 一.预期实现猜数字游戏的功能 1:什么是猜数字游戏 猜数字游戏顾名思义是电脑随机生成一个数字,让玩家来猜.如果没猜对,电脑会提示玩家猜大了还是猜小了,玩家可以多次尝试,直到玩家猜对了本次游戏就结束. 2:预期效果 在实现猜数字的基础上,玩家如果觉得不过瘾可以选择再来一次,如

  • C语言实现的猜数字小游戏

    本文实例为大家分享了C语言实现猜数字小游戏的具体代码,供大家参考,具体内容如下 代码如下 #include <stdio.h> #include<stdlib.h> #include<time.h> //rand为产生随机数的函数 void game() { srand((unsigned)time(NULL)); int key = (int)rand() % 100; //产生一个1---100之间的数 int ret = 0; while (1) { printf

随机推荐