C(十三)for、while、do - while循环的抉择 --- 打怪闯关情景

news2024/11/18 9:43:57

前言:

C(十)for循环 --- 黑神话情景之后👉

https://blog.csdn.net/2401_87025655/article/details/142684637

今天,杰哥想用一个打怪闯关的场景让与大家一起初步认识一下for、while、do - while循环的抉择。(本人自己也是在不断学习,加深认知,如果不对之处,敬请指出。)

目录:

0、唠嗑 

1、场景一

2、场景二

3、场景三

4、有趣的问题

5、不懂就问---求助

 0、唠嗑

 人生无常,大肠包小肠。~~~emmm

虽然我们身边有一些事情是确定的,比如:篮子里有10个苹果,一天只能从篮子里拿走一个,第 i 天还剩多少个(i <= 10),

然而,生活往往是不确定,带有各种附加条件以及随机性等等······ 

1、场景一

场景一:(扫清障碍)要打10个怪物,每打一个积攒一点法力值,输出每打一个后的法力值 

本题需要用到循环且循环次数确定 --- for循环、while循环都可以。

(个人观点:我对循环次数确定的比较喜欢用for循环)

for 循环示例如下 :👉

#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>
int main()
{
	int i = 0;
	for (i = 1; i <= 10; i++)
	{
		printf("%d ", i);
	}
	return 0;
}

2、场景二 

场景二:密码之门

————你输对密码前,你能知道你要用多少次才能输对吗?

————密码是1~9之间某个数(包括1,9)---假设密码是6

所以,循环的次数 是不确定的。--- 比较建议选 while

(但也不是说不能用for循环,后面有for循环代码示例)

代码示例1(while死循环的构建 + 条件判断):👉

#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>
int main()
{
	while (1) //1 表示真 --- 死循环
	{
		int input = 0;
		scanf("%d", &input);
		if (input == 6)
		{
			printf("开门\n");
			break;
		}
	}
	return 0;
}

代码示例2(for死循环构建+条件判断): 👉

#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>
int main()
{
	for (;;)
	{
		int input = 0;
		scanf("%d", &input);
		if (input == 6)
		{
			printf("开门\n");
			break;
		}
	}
	return 0;
}

代码示例3:👉(用到scanf的返回值)

#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>
int main()
{
	int input = 0;
	while (scanf("%d", &input) == 1)
	{
		if (input == 6)
		{
			printf("开门\n");
			break;
		}
	}
	return 0;
}

tip:关于scanf的返回值详见👉

https://blog.csdn.net/2401_87025655/article/details/142590751

3、场景三 

场景三:每打一个怪,获得一次开密码门的机会 

要先执行 --- 可以用do - while循环,代码示例👉

#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>
int main()
{
	int n = 0; // n --- 打怪个数
	int input = 0;// input --- 所猜密码
	do
	{
		n++;
		printf("打了第%d个怪,猜密码:>\n", n);
		input = 0;
		scanf("%d", &input);
	} 
	while (input != 6);
	if (input == 6)
	{
		printf("开门\n");
	}
	return 0;
}

运行结果👉

打了第1个怪,猜密码:>
3
打了第2个怪,猜密码:>
9
打了第3个怪,猜密码:>
5
打了第4个怪,猜密码:>
6
开门

 4、有趣的问题

树上有十只鸟,开枪打死一只后,树上还有多少只? 

 5、不懂就问---求助

各位大佬,请问有没有比较好的学习嵌入式的方式推荐(比如看什么视频,用什么软件······)?本人目前是有stm32的套件的。 

最后,如果觉得小弟写得还可以,可以给小弟打赏一下吗?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2200478.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Docker在linux系统中的下载与使用

Docker在linux系统中的下载与使用 一、docker作用,下载及安装二、docker镜像三、创建容器四、容器数据卷 一、docker作用,下载及安装 ubuntu下载安装docker 命令&#xff1a;在ubuntu上面执行这个命令 Docker version:查看docker是否安装成功 配置阿里云镜像加速:进入阿里云网站…

阿里140滑块-滑块验证码逆向分析思路学习

一、声明&#xff01; 原创文章&#xff0c;请勿转载&#xff01; 本文内容仅限于安全研究&#xff0c;不公开具体源码。维护网络安全&#xff0c;人人有责。 文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;均已做脱敏处…

JUC高并发编程8:读写锁

1 概述 1.1 悲观锁和乐观锁 在并发编程中&#xff0c;锁机制是用来控制多个线程对共享资源的访问。悲观锁和乐观锁是两种不同的并发控制策略。 1.1.1 悲观锁&#xff08;Pessimistic Locking&#xff09; 悲观锁假设在最坏的情况下&#xff0c;多个线程会同时访问和修改共享…

Qt-QDockWidget浮动窗口相关操作(49)

目录 描述 使用 描述 在 Qt 中&#xff0c;浮动窗⼝也称之为铆接部件。浮动窗⼝是通过 QDockWidget类 来实现浮动的功能。浮动窗口⼀般是位于核心部件的周围&#xff0c;可以有多个。 使用 创建我们可以参考下面的语法格式 使用起来也很简单&#xff0c;不过只能创建一个 Q…

【C语言】使用结构体实现位段

文章目录 一、什么是位段二、位段的内存分配1.位段内存分配规则练习1练习2 三、位段的跨平台问题四、位段的应用五、位段使用的注意事项 一、什么是位段 在上一节中我们讲解了结构体&#xff0c;而位段的声明和结构是类似的&#xff0c;它们有两个不同之处&#xff0c;如下&…

创建osd加入集群

故障原因&#xff1a;ceph节点一个磁盘损坏&#xff0c;其中osd69 down了&#xff0c;需要更换磁盘并重新创建osd加入ceph集群。 信息采集&#xff1a; 更换磁盘前&#xff0c;查询osd69对应的盘符&#xff1a; 将对应的故障磁盘更换后&#xff0c;并重做raid&#xff0c;然后查…

SDK4(note下)

以下代码涉及到了很多消息的处理&#xff0c;有些部分注释掉了&#xff0c;主要看代码 #include <windows.h> #include<tchar.h> #include <stdio.h> #include <strsafe.h> #include <string> #define IDM_OPEN 102 /*鼠标消息 * 键盘消息 * On…

76.【C语言】perror函数介绍

1.cplusplus的官网介绍 cplusplus的介绍 点我跳转 2.翻译 函数 perror void perror ( const char * str ); 打印错误信息 将errno(最后一个错误数字)的值解释为错误信息,之后把它打印到stderr中(标准错误输出流,通常是控制台)(备注有关"流"的概念在75.【C语言】文件…

k8s-pod的管理及优化设置

Pod是Kubernetes&#xff08;k8s&#xff09;中最小的资源管理组件&#xff0c;也是最小化运行容器化应用的资源对象。以下是对Pod的详细介绍&#xff1a; 一、Pod的基本概念 定义&#xff1a;Pod是Kubernetes中可以创建和管理的最小单元&#xff0c;是资源对象模型中由用户创…

网站排名,让网站快速有排名的几个方法

要让网站快速获得并提升排名&#xff0c;需要综合运用一系列专业策略和技术&#xff0c;这些策略涵盖了内容优化、技术调整、外链建设、用户体验提升等多个方面。以下是让网站快速有排名的几个方法&#xff1a; 1.内容为王&#xff1a;创造高质量、有价值的内容 -深入…

geolocator插件的用法

文章目录 1. 概念介绍2. 使用方法3. 示例代码4 体验分享我们在上一章回中介绍了如何实现滑动菜单相关的内容,本章回中将介绍如何获取位置信息.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 我们在这里说的获取位置信息本质上是获取当前手机所在位置的gps坐标,就是我们…

【Chrome浏览器插件--资源嗅探猫抓】

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、资源嗅探插件---猫抓二、使用步骤总结 一、资源嗅探插件—猫抓 猫抓是一个浏览器插件&#xff0c;可以检测当前网页中的一些资源文件&#xff0c;可设置嗅探的…

NVIDIA机密计算文档

NVIDIA 可信计算解决方案 文章目录 前言一、指南1. Intel TDX - 机密计算部署指南2. AMD SNP - 机密计算部署指南3. NVIDIA Hopper 机密计算证明文档4. nvtrust GitHub二、发行说明1. 550TRD3 - NVIDIA 可信计算解决方案发行说明2. 550TRD1 - NVIDIA 可信计算解决方案发行说明三…

The Android SDK location cannot be at the filesystem root

win11&#xff0c; 安装启动完Android Studio后&#xff0c;一直显示 The Android SDK location cannot be at the filesystem root因此需要下载SDK包&#xff0c;必须开启代理。 开启代理后&#xff0c;在System下开启自动检测代理&#xff0c;如图 重启Android Studio&a…

任务【浦语提示词工程实践】

0.1 环境配置 首先点击左上角图标&#xff0c;打开Terminal&#xff0c;运行如下脚本创建虚拟环境&#xff1a; # 创建虚拟环境 conda create -n langgpt python3.10 -y 运行下面的命令&#xff0c;激活虚拟环境&#xff1a; conda activate langgpt 之后的操作都要在这个环境…

基于LORA的一主多从监测系统_0.96OLED

关联&#xff1a;0.96OLED hal硬件I2C LORA 在本项目中每个节点都使用oled来显示采集到的数据以及节点状态&#xff0c;OLED使用I2C接口与STM32连接&#xff0c;这个屏幕内部驱动IC为SSD1306&#xff0c;SSD1306作为从机地址为0x78 发送数据&#xff1a;起始…

Windows环境安装CentOS7

【注意】安装CentOS需要先安装Vmware虚拟机 【下载前准备】 一、下载CentOS 7镜像文件阿里云镜像开源&#xff0c;点击跳转 二、安装VMware&#xff08;17&#xff09;&#xff1a; a. 官网&#xff0c;点击跳转 b. 许可证&#xff1a;JU090-6039P-08409-8J0QH-2YR7F 安装V…

Aegisub字幕自动化及函数篇(图文教程附有gif动图展示)(二)

目录 template行 template pre-line template line template syl template syl noblank template char template notext template pre-line notext template syl noblank notext template keeptags ​编辑 template loop number 内联变量 ​编辑 remeber函数 re…

提示工程、微调和 RAG

自众多大型语言模型&#xff08;LLM&#xff09;和高级对话模型发布以来&#xff0c;人们已经运用了各种技术来从这些 AI 系统中提取所需的输出。其中一些方法会改变模型的行为来更好地贴近我们的期望&#xff0c;而另一些方法则侧重于增强我们查询 LLM 的方式&#xff0c;以提…

【华为OD机试真题】95、最少面试官数

package mainimport ("fmt""sort" )type s struct {start intend intworkCount int }type duration struct {start intend int }// 查询时间段内是否有可用的面试官 func getFreeS(sList []*s, d *duration, workCountLimit int) (sIndex int)…