首页 > 其他分享 >C语言的应用|猜数字游戏

C语言的应用|猜数字游戏

时间:2025-01-19 16:28:16浏览次数:3  
标签:rand 数字 int time C语言 随机数 printf 游戏

目录

1.引言

2.rand(包含在中)

3.srand(包含在中)

4.time(包含在中)

5.游戏代码showtime


1.引言

   哈喽,大家好,好久不见。今天小邓儿,将带咱们用C语言,来写一个小游戏——猜数字。

不过,编写游戏之前。先给大家拓展一些相关知识点(●'◡'●)

2.rand(包含在<stdlib.h>中)

1.1  形式 int rand (void);

1.2 rand函数会返回⼀个伪随机数,这个随机数的范围是在0~RAND_MAX之间,这个RAND_MAX的大小是依赖编译器上实现的,但是⼤部分编译器上是32767。

1.3 rand函数⽣成的随机数是伪随机的,伪随机数不是真正的随机数,是通过某种算法⽣成的随机数。真正的随机数的是⽆法预测下⼀个值是多少的。而rand函 数是对⼀个叫“种子”的基准值进行运算生成的随机数。

3.srand(包含在<stdlib.h>中)

2.1 形式 void srand (unsigned int seed);

2.2 通过srand函数的参数seed,来设置rand函数生成随机数的时候的种子。

只要种子在变化,每次生成的随机数序列也就变化起来了。

4.time(包含在<time.h>中)

3.1形式 time_t time (time_t* timer);

3.2 time函数返回的这个时间差被叫做:时间戳。(即:返回当前的日历时间。其实就是返回的1970年1⽉1⽇0时0分0秒到现在程序运行时间之间的差值,单位是秒。)

5.游戏代码showtime

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<time.h>
void menu()
{
	printf("******************************\n");
	printf("******     1 play      *******\n");
	printf("******     0 exit      *******\n");
	printf("******************************\n");
}
void game()
{
	int r = rand() % 100 + 1;
	int guess = 0;
	system("cls");
	int count = 8;
	while (count)
	{
		printf("一共有8次机会(∩_∩)\n赶快开始吧");
		printf("请猜数字:(1~100之间的数字)");
		scanf("%d", &guess);
		if (guess > r)
		{
			printf("猜大了\n剩余%d次机会(⊙o⊙)\n", --count);
		}
		else if (guess < r)
		{
			printf("猜小了\n剩余%d次机会(⊙o⊙)\n", --count);
		}
		else 
		{
			printf("恭喜你,猜对了,数字是:%d\n", r);
			break;
		}
	}
	if (count == 0)
	{
		printf("8次机会用完,游戏失败\n作为惩罚,你的电脑将在60s内关机\n除非,你输入:我是猪");
		char a[20] = { 0 };
		system("shutdowm -s -t 60");
	tip:
		printf("即将关机,除非请输入:'我是猪'就取消关机\n");
		scanf("%s", a);
		if (strcmp(a, "我是猪") == 0)
		{
			system("shutdown -a");
		}
		else
		{
			goto tip; 
		}
	}
}
int main()
{
	int input = 0;
	srand((unsigned int)time(NULL));
	do
	{
		printf("即将开始游戏,请选择是否进入游戏\n");
		menu();
		printf("请选择( 1 或者 0 ):");
		scanf("%d", &input);
		switch (input)
		{
		case 1:
			game();
			break;
		case 0:
			printf("游戏结束,退出游戏\n");
			break;
		default:
			printf("选择错误\n");
			break;
		}
	} while (input);
	return 0;
}

大家可以复制下去玩一玩

标签:rand,数字,int,time,C语言,随机数,printf,游戏
From: https://blog.csdn.net/oi0825/article/details/145243676

相关文章

  • 初识C语言
    1.什么是c语音C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个......
  • 数字图像的运算(3)
    一、图像的平移closeall;%关闭当前所有图形窗口,清空工作空间变量,清除工作空间所有变量clearall;clc;I=imread('lenna.bmp');%输入图像a=50;b=50;%设置平移坐标J1=move1(I,a,b);%移动原图像a=-50;b=50;%设置平移坐标J2=move1(I,a,b);%移动原图像a......
  • 数字图像的运算(2)
    一、叠加后图像C和B的差异closeall;%关闭当前所有图形窗口,清空工作空间变量,清除工作空间所有变量clearall;clcA=imread('tire.tif');%读取图像tire,并赋值给A[m,n]=size(A);%获取图像矩阵A的行列数m,nB=imread('eight.tif');......
  • 计算机毕业设计Springboot基于的游戏后台管理系统 基于Springboot的游戏后台运营管理
    计算机毕业设计Springboot基于的游戏后台管理系统a803t(配套有源码程序mysql数据库论文)本套源码可以先看具体功能演示视频领取,文末有联xi可分享随着游戏产业的蓬勃发展,游戏公司面临着海量用户数据、复杂的游戏内容以及多样化的运营活动管理挑战。传统的后台管理方式因人工......
  • 【自学嵌入式(5)环形电阻、数码管、随机数字程序】
    环形电阻、数码管、随机数字程序环形电阻*概念**特点*共阴极数码管*概念*随机数字程序本篇文章将会手动搭建一个电路,使用到的硬件主要有面包板一个、若干杜邦线、UNO开发板一个、按键开关一个、一个200-500欧姆的电阻、共阴极数码管一个由于对即将要使用的环形电......
  • TensorFlow手写数字识别
     In [1]:importnumpyasnpimportmatplotlib.pyplotaspltimporttensorflowastffromsklearn.preprocessingimportStandardScalerimportpandasaspd In [2]:(x_train_all,y_train_all),(x_test,y_test)=tf.keras.datasets.mn......
  • 比特c语言-分支与循环
      #分支与循环if语句目录if语句ifeg:输入一个整数,判断是否为奇数elseeg:输入一个整数,判断是否为奇数,如果是奇数打印是奇数,否则打印偶数嵌套ifeg:输入一个人的年龄关系操作符条件操作符eg:使用条件操作符表示代码逻辑eg:使用条件表达式找两个数中较大值逻辑操作符:&&,||,!eg:闰年的......
  • R 实现英文数字验证码识别
    R的强大扩展生态使其也能完成OCR任务,我们将结合magick包(图像处理)和tesseract包(OCR)来实现。安装所需包在R环境中,安装以下R包:R更多内容访问ttocr.com或联系1436423940install.packages("magick")install.packages("tesseract")R实现代码编写以下R代码来完......
  • Perl 实现英文数字验证码识别
    我们将通过结合TesseractOCR和ImageMagick工具来实现图像处理和文本识别。安装依赖确保已安装以下工具和模块:TesseractOCR:用于文本识别。ImageMagick:用于图像处理。Perl模块:Image::Magick和Tesseract::OCR。在命令行中执行以下命令:bash安装TesseractOCRsudo......
  • MATLAB 实现英文数字验证码识别
    MATLAB是一个强大的数值计算和图像处理工具,结合其内置的图像处理工具箱和OCR功能,可以轻松完成验证码识别任务。前置准备安装MATLAB确保你的MATLAB版本支持OCR功能(通常需要安装ComputerVisionToolbox)。如果没有,先通过MATLAB的工具箱管理器安装该工具箱。准备验......