自学内容网 自学内容网

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

前言:

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的套件的。 

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


原文地址:https://blog.csdn.net/2401_87025655/article/details/142715718

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!