自学C语言的第N天——猜数字小游戏!

猜数字小游戏其实还是比较简单的,他的写法也是多种多样。

这里我们分为二个功能模块来实现:

1.菜单界面,功能就两个要么就玩,要么就退出;这里我用一个menu()函数来实现;

2.就是猜数字,我用game()函数实现。对于大于目标数字的数 提示猜大了!对于小于目标数字的数 提示猜小了!若猜中了 那就 提示恭喜你,猜对了!由于这是个循环猜中了就退出,用break语句实现;

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void menu(void);
void game(int);
int main()
{
	//利用函数实现猜数字的小游戏
	//首先menu函数实现菜单栏,menu函数并不返回值
	//game函数实现具体的判断,也不返回值;
	//rand()函数是返回一个有种子设定好的值
	//srand()函数是返回种子的函数,参数使用的是time()的返回值
	//time()函数随时间一直都在变
	srand((unsigned int)time(NULL));//返回种子的随机值
	int num1 = rand() % 101 +900;//如果我想要一个100-200之间的数呢
	int num2 = 0;
	while(1)
	{
		menu();
		scanf("%d", &num2);
		switch(num2)
		{
		case 1:
			{
				game(num1);
				break;
			}
		case 0:
			{
				printf("不想玩了\n");
				goto flag;
			}
		default:
			{
				printf("输入有误请再次输入合适的数字!\n");
			}
		}
	}
	flag :
	return 0;
}
void menu(void)
{
	printf("***&&********&&********&&&\n");
	printf("***&&**1.0 play******&&***\n");
	printf("***&&**0.0 exit******&&***\n");
	printf("***&&********&&********&&&\n");
	return;
}
void game(int num1)
{
	int num = 0;
	while(1)
	{
		//输入所猜测的数字
		scanf("%d", &num);
		if(num == num1)
		{
			printf("猜到了!\n");
			break;
		}
		else if(num > num1)
		{
			printf("猜大了!\n");
		}
		else
		{
			printf("猜小了!\n");
		}
	}
	return;
	
}

注意:其中我们猜的目标数字是 有随机数生成的。生成随机数的函数是rand(),但是每次由rand()生成的随机数都是固定不变动的,这是因为rand()函数生成随机数的那个数(我们称为种子)是固定不变的,这就导致我们生成的随机数是固定不变的,所以我们必须使种子变动起来,才能使我们的随机数变动起来。产生种子的函数是srand()函数,为了使其产生的种子变成随机值,那我们给他的参数就得是变动的,这里我们用C语言提供的一个 与时间有关的函数 time() 他的返回值就是当下运行程序的时间,这也是变动的。需要注意time(NULL) 他的参数我们写成null即可。(若这块有兴趣探索的朋友可以自己去了解)这样我们一环扣一环 time()返回当下的时间——>srand((unsigned int) time(NULL))以返回的时间为参数生成随机的种子——>rand()函数才能生成随机数。

OK,今天就分享这些,愿于你有益,我的朋友!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值