全网最易懂的解题——C语言“猜数字游戏”

猜数字游戏大家不陌生吧,如果不了解的话证明你是个乖宝宝,酒吧聚会去的少,研究透彻这个问题就可以自己做一个简易版的扫雷游戏了。

首先Mr.狠人先给大家介绍一下猜数字游戏,在酒局上我们先选一个人让他在心里随机想一个数字(1-100之间),然后剩下的玩家去猜这个数字,如果猜到了你就获得胜利(当然胜利的惩罚可能是罚酒哦),如果没有猜到对方心里的数字,那么会被提示猜大了,还是猜小了。

那我们如何将这个游戏在代码上实现呢,首先我们需要有一个随机数作为我们的 “traget" 。这时候就需要用到C语言中的rand函数。

#include <time.h>
#include <stdlib.h>

int main()
{
    srand((unsigned int)time(NULL));
    int target = rand()%100+1;//控制随机数生成的范围
}

(rand函数基础使用方法如上,如果大家感兴趣,Mr.狠人会出一期随机数详解)

接下来的代码其实就是比较大小,同学们的代码就信手拈来了吧

#include <time.h>
#include <stdlib.h>
#incldue <stdio.h

//封装菜单
void meun()
{
	printf("* * * * * * * * * *\n");
	printf("* * * 1. play * * *\n");
	printf("* * * 0. exit * * *\n");
	printf("* * * * * * * * * *\n");
}

//封装游戏主体
void guess_game()
{
	//生成随机数
	int target = rand()%100+1;
	//猜数字
	int guess = 0;
	while(1)
	{
		printf("请猜数字:");
		scanf("%d", &guess);
		if (guess < target)
		{
			printf("猜小了");
		}
		else if (guess > target)
		{
			printf("猜大了");
		}
		else
		{
			printf("猜对了,随机数是%d\n", target);
			break;
		}
	}
}


int main()
{
	int input = 0;//创建一个变量用于接收玩家的指令
	srand((unsigned int)time(NULL));//srand只需要调用一次
	do 
	{
		meun();
		scanf("%d", &input);
		switch (input)
		{
		case 1:
			guess_game();
			break;
		case 0:
			printf("退出游戏\n");
			break;
		default:
			printf("选项无效,请重新选择\n");
			break;
		}
	} while (input);

	return 0;
}

看起来代码一大串,其实就是注意rand和srand的使用就行。剩下的都是一些基础知识的结合使用。如果还没有学过函数的同学们可以直接将代码写在main函数内部,但建议看看Mr.狠人的封装函数,其实很简单的,研究一会儿对函数就有一个基础的概念了。

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值