用循环语句来实现输密码游戏,猜数字游戏

输密码游戏:

1 题目要求

编写代码实现,模拟用户登录情景,并且只能登录三次。(只允许输入三次密码,如果密码正确则提示登陆成功,如果三次均输入错误,则退出程序)

2 题目分析

  1. 题目要求我们输入密码,则首先需要创建一个字符串数组来存放我们已经设置好得密码。
  2. 我们还需要将输入的密码与设置好的密码进行比较,这里将用到strcmp函数。
  3. 为满足我们要循环输入三次的要求,我们要用到循环。

分析完这些,我们来尝试着完成这个代码。

3 代码实现

首先我们需要创建一个字符串数组psw,用来存储我们每次输入的密码。

char psw[20] = "";

然后我们需要将我们输入的密码和正确的密码进行对比。当两个密码相同时,我们在屏幕上输出“登陆成功”,三次都输入错误的话,我们输出“登录失败”。

为了完成两个密码的比对工作,我们需要用到一个库函数strcmp()。当函数返回值是0时,说明两个密码相等,输出“登陆成功”。

那么我们怎么实现可以输入三次呢?这就要用到我们的循环。下面是代码实现:

int main()
{
	char psw[20] = "";//创建字符数组存放输入的密码
	int i = 1;//创建一个变量i来统计输入密码的次数
	while (i<=3)//当输入3次以上密码时,不再进入循环
	{
		printf("请输入密码:\n");
		scanf("%s", psw);
		if (strcmp(psw, "123456") == 0)//对比正确密码和输入的密码
		{
			break;
		}
		i++;
	}
	if (4 == i)//当输入超过3次密码时,显示登录失败
	{
		printf("登录失败\n");
	}
	else
	{
		printf("登陆成功\n");
	}
	return 0;
}

猜数字游戏

1 题目要求

系统随机生成一个数字,请你猜出这个数字是什么。当你猜的数字小于正确数字时,打印“猜小了!;当猜的数字大于正确数字时,打印“猜大了!”;当猜的数字等于正确数字时,打印“猜对了!”,程序退出。

2 题目分析

  1. 首先我们打印一个菜单,来提示玩家如何进行和退出游戏。
  2. 首先我们需要一个随机生成数字的库函数rand(),为了确保每次生成的数字不相同,我们还需要一个用于设置随机数的种子srand(),并以time(NULL)作为参数。
  3. 为了程序能多次循环执行,直到我们猜出正确的数字,我们又用到了循环结构语句;同时为了根据玩家的输入来进行不同的选择,我们用到选择语句中的switch语句。

3 代码实现

我们先来打印一个游戏菜单:

void menu()
{
	printf("*********************************\n");
	printf("**************1.play*************\n");
	printf("**************0.exit*************\n");
	printf("*********************************\n");
}

当玩家输入1时开始游戏,输入0时退出游戏。

现在,我们来完成游戏的主体函数,game()函数。

在game函数中,我们要实现一下几点:

  1. 随机生成一个整数;
  2. 让玩家输入一个整数
  3. 一次一次的判断玩家输入的数字和正确数字的差异。
void game()
{
	int num = rand() % 100;//随机生成一个0~99之间的数字
	int guess = 0;
	while (1)//一直循环,直到猜对为止
	{
		printf("请输入你猜的数字:");
		scanf("%d", &guess);
		//判断正确数字和所猜数字的大小关系
		if (num < guess)
		{
			printf("猜大了!\n");
		}
		else if (num > guess)
		{
			printf("猜小了!\n");
		}
		else
		{
			printf("猜对了!\n");
			printf("还要来一次吗:\n");
			break;
		}
	}
}

我们之前说过,rand()函数在使用时最好再使用一个srand()函数,我们把srand()函数放在主函数中。同时,主函数需要实现以下功能:

  1. 接收并判断玩家的输入(1.play / 0.exit);
  2. 根据不同的输入走向不同分支;
  3. 将以上两步放在循环中;
int main()
{
	int input = 0;
	srand((unsigned)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;
}

这里选择用do...while循环,为的是即使input等于0,也会进入循环并提示“游戏结束”,然后退出。switch语句用来判断每次输入的input的值,并做出判断。

那么以下就是完整代码:

void menu()
{
	printf("*********************************\n");
	printf("**************1.play*************\n");
	printf("**************0.exit*************\n");
	printf("*********************************\n");
}

void game()
{
	int num = rand() % 100;//随机生成一个0~99之间的数字
	int guess = 0;
	while (1)//一直循环,直到猜对为止
	{
		printf("请输入你猜的数字:");
		scanf("%d", &guess);
		//判断正确数字和所猜数字的大小关系
		if (num < guess)
		{
			printf("猜大了!\n");
		}
		else if (num > guess)
		{
			printf("猜小了!\n");
		}
		else
		{
			printf("猜对了!\n");
			printf("还要来一次吗:\n");
			break;
		}
	}
}

int main()
{
	int input = 0;
	srand((unsigned)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;
}

  • 23
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用Python的for循环语句实现猜数字游戏。例如,随机生成一个1到100之间的数字,让用户猜测,每次猜测后给出提示,直到用户猜中为止。具体实现方式可以参考以下代码: import random # 生成随机数 number = random.randint(1, 100) print('猜数字游戏开始,请入1到100之间的数字:') # 进入循环 while True: guess = int(input()) # 用户入猜测的数字 if guess == number: print('恭喜你猜中了!') break # 猜中即跳出循环 elif guess > number: print('你猜的数字太大了,请重新入:') else: print('你猜的数字太小了,请重新入:') ### 回答2: 猜数字游戏是一种常见的游戏,玩家需要根据提示猜出隐藏的数字。使用Python语言开发猜数字游戏,可以采用for循环实现。下面将详细介绍如何使用for循环来开发猜数字游戏猜数字游戏是一种非常简单的游戏,其规则如下: 1. 首先,程序要生成一个随机数,然后将其存储在一个变量中。 2. 玩家需要猜出这个随机数。 3. 如果玩家猜测的数字小于随机数,则程序会提示玩家猜测的数字偏小;如果猜测的数字大于随机数,则程序会提示玩家猜测的数字偏大。 4. 玩家需要不断猜数字,直到猜中为止。猜中后,程序会提示玩家猜测的数字以及猜测的次数。 下面是使用for循环实现猜数字游戏的代码: ``` import random num = random.randint(1, 100) # 生成1~100之间的随机数 count = 0 # 猜测次数初始化为0 for i in range(1, 11): # 最多猜测10次 guess = int(input("请入你猜测的数字:")) count += 1 if guess < num: print("你猜的数字偏小,请重新猜测!") elif guess > num: print("你猜的数字偏大,请重新猜测!") else: print("恭喜你猜对了!你一共猜测了%d次,猜测的数字是%d" % (count, guess)) break # 猜对即退出循环 if count == 10: print("你已猜测了10次,游戏结束!") ``` 上述代码中,我们使用了Python内置的random模块来生成1~100之间的随机数。然后,我们使用for循环来实现最多猜测10次的游戏规则。每次循环中,我们会提示玩家入猜测的数字,然后根据猜测的数字与随机数的大小比较,提示玩家猜测的数字偏大或偏小。如果猜中了,则程序会提示玩家猜对了,并显示玩家猜测的次数和猜测的数字。如果猜测10次没有猜中,则程序会提示游戏结束。 总之,使用for循环实现猜数字游戏是一种非常简单且实用的方法,它可以帮助我们更加深入地理解Python语言的基础知识和语法。无论是初学者还是有经验的开发者,都可以尝试用Python语言来开发自己的猜数字游戏,并不断地优化和升级,从而提升自己的编程能力和创新力。 ### 回答3: Python语言是一门高级编程语言,被广泛应用于数据分析、人工智能、机器学习等领域。Python语言中的for循环是一种循环结构,可以用于重复执行一段代码,例如猜数字游戏猜数字游戏是一种经典的游戏游戏过程中,程序会随机生成一个数字,玩家需要在规定的次数内猜中这个数字。Python语言中可以通过for循环实现这个游戏。 以下是Python语言中通过for循环实现猜数字游戏的基本步骤: 1.随机生成一个数字 在python中,使用random库中的randint函数生成随机数。randint函数的使用方法为random.randint(a,b),表示返回一个在a与b之间的随机整数。 2.设置猜测次数 游戏规定了猜测次数,可以通过设置一个变量num代表猜测次数。 3.循环进行猜测 使用for循环进行猜测,设置循环次数为num次。每次循环中,玩家需要从键盘入一个数字,用if语句判断猜测是否正确。 4.出猜测结果 每次猜测后,程序都需要出猜测的结果。 5.判断是否猜中 在整个循环结束后,如果玩家猜中了,程序需要出恭喜玩家获胜的信息;如果没有猜中,程序需要出失败的信息。 通过以上步骤,可以使用for循环实现猜数字游戏。在实践过程中,还需要遵循良好的编程习惯,例如注释代码、添加异常处理等,提高代码的可读性和健壮性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值