经典的C语言小游戏——猜数字

猜数字游戏实现
电脑随机生产一个1~100之间的数
接下来我们猜数字
如果猜小了,就告诉你猜小了
如果猜大了,就告诉你猜大了
如果猜对了,那就恭喜你,游戏结束

我认为的难点:如何产生一个1~100的随机数 


/*生成随机数

使用rand函数生产的伪随机数
rand函数生产的随机数的范围是:0~RAND_MAX(32767)
 
rand函数在生产随机数之前,要使用srand函数设置随机数的生成器
srand函数需要传入一个 unsigned int 类型的数据,所以可以使用类型的强制转换
	
time 函数可以返回一个时间戳,时间是在不断发生变化的,适合用来产生随机数
time 函数需要传入一个指针,这里不需要具体的指针,所以给一个空指针

rand()%100产生0-99之间的数字,加个1就能产生1-100之间的数字*/



srand((unsigned int)time(NULL));

int ret = (rand()) % 100;




 

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include <stdlib.h>       //srand, rand函数需要的头文件
#include <time.h>        //time函数需要的头文件


void menu()
{
	printf("********** 猜数字小游戏  ************\n");
	printf("***********  1.play      ************\n");
	printf("***********  0.exit      ************\n");
	printf("*************************************\n");

}

void game()
{
	//生成随机数
	//使用rand函数生产的伪随机数
	//rand函数生产的随机数的范围是:0~RAND_MAX(32767)
	// 
	//rand函数在生产随机数之前,要使用srand函数设置随机数的生成器
	//srand函数需要传入一个 unsigned int 类型的数据,所以可以使用类型的强制转换
	// 
	//time 函数可以返回一个时间戳,时间是在不断发生变化的,适合用来产生随机数
	//time 函数需要传入一个指针,这里不需要具体的指针,所以给一个空指针
	//
	//rand()%100产生0-99之间的数字,加个1就能产生1-100之间的数字

	srand((unsigned int)time(NULL));
	int ret=(rand())%100+1;
	printf("已经生成好随机数,请输入:\n");
	int x;
	
	while (1)
	{	
		printf("请输入:\n");
		scanf("%d", &x);
		if (x > ret)
		{
			printf("猜大了\n");
		}
		else if (x < ret)
		{
			printf("猜小了\n");
		}
		else
		{
			printf("恭喜你猜对了\n");
			break;
		}
	}
}


int main()
{
	//需要循环来打印游戏界面
	int input;
	do {
		menu();
		printf("请选择:\n");
		scanf("%d", &input);
		
		//采用switch结构
		switch (input)
		{
			case 1:
				game();
				break;
			case 0:
				printf("游戏结束");
				break;
			default:
				printf("选择错误,请重新选择\n");
				break;
		}

	} while (input);

	return 0;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值