循环与分支:猜数字游戏

今天来写猜数字游戏的代码:

菜单部分:

输出数字1可以开始游玩,0是退出,游戏是怎么开始的我会放到后面说

游戏程式部分:

     

开头使用rand()产生随机值 % 100 + 1是随机取1到100的范围,以while循环表示游戏内容中你有多少机会,随机输入一个值,用if和else if来判断输入的数是否大了或小了猜对了则显示:【猜对了!数字为s,若猜错count =0的时候则结束游戏并显示正确的数字

游戏路径部分:

这个部分为路径,srand()是随机值的种子括号里的unsigned int表示里面只能有正数(若不用unsigned int会报错!)time是时间戳,NULL则是无指针

do_while循环里的switch语句中的case分别是进入游戏 、退出游戏、输入错误,对应着菜单部分的1.play和0.exit

运行画面:

代码如下:

void menu()
{
	printf("1.play\n");
	printf("0.exit\n");
}
void game()
{
	int s = rand() % 100 + 1;
	int guess = 0;
	int count = 15;
	while (count)
	{
		printf("你有%d次机会\n", count);
		printf("随机输入一个数");
		scanf("%d",&guess);
		if (guess > s)
		{
			printf("猜大了\n");
		}
		else if (guess < s)
		{
			printf("猜小了\n");
		}
		else
		{
			printf("猜对了!数字是%d\n", s);
			break;
		}
		count--;
	}
	if (count == 0)
	{
		printf("游戏失败,正确数字为%d\n", s);
	}
}
int main()
{
	int input = 0;
	srand((unsigned int)time(NULL));
	do 
	{
		menu();
		printf("请选择\n");
		scanf("%d",&input);
		switch (input)
		{
		case 1:
			game();
			break;
		case 0:
			printf("游戏结束\n");
			break;
		default:
			printf("输入错误,请重新输入\n");
			break;
		}
	} while (input);
	return 0;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值