C(十四)while、for、do-while循环综合(一)

uu们,小弟我本科在读,文章我会一直坚持更新下去,包括但不限于C初阶、C进阶、数据结构、C++、Linux、MySQL、项目、QT开发、各种算法······(之后会持续更新),并且站在小白的视角尽可能通俗易懂地把这些写出来,同时加上各种生活场景帮助大家理解知识,并知道说“噢,用来可以这样用”。

 整体工程量比较大,可以给小弟打赏一下多买点营养餐的费用吗?(1元也可以,万分感谢)。

本文目录:👉👉👉

一、数学问题(一)(难度:*)

二、图形的打印(难度:**)

三、密钥(难度:**)

四、数学问题(二)(难度:***)

五、实际场景(难度:***)--- 自选小炒

 

        【分解目标1】选择吃与不吃

 

        【分解目标2】选择如下(自选小炒配料):>(注:米、面、粉免费)

 

        【分解目标3】选择哪种肉,哪种菜

 

        【分解目标4】同学选完后,给下一个同学选择

六、后记

前言:👉👉👉

三大循环结构、各种语句和几个关键字的综合运用。👉

 

while循环 --- 军训匕首操情景

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

for循环 --- 黑神话情景

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

do - while循环 --- 致敬革命烈士

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

goto语句 --- 关机程序(另一位作者的)

https://blog.csdn.net/m0_68865259/article/details/124537858?fromshare=blogdetail&sharetype=blogdetail&sharerId=124537858&sharerefer=PC&sharesource=2401_87025655&sharefrom=from_link

一、数学问题(一)(难度:*)

场景一:求12 与 18的最大公因数

法一:👉(正向思维)

#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>
int main()
{int a = 12;int b = 18;int max = 1; //1、两个正整数的公因数肯定有1,不妨先令最大公因数为1int i = 1;for (i = 1; i <= 12; i++){if (a % i == 0 && b % i == 0){max = i; //2、之后如果找到比1更大的,再赋值给max}}printf("%d", max);return 0;
}

法二:👉(逆向思维) 

#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>
int main()
{int a = 12;int b = 18;int max = 0;int i = 0;for (i = 12; i > 0; i--){if (a % i == 0 && b % i == 0){max = i;break; //从大到小 --- 找到那个最大的就打破循环}}printf("%d", max);return 0;
}

场景二:求十个整数的最大值

法一:do - while循环 

法二:for循环

👉https://blog.csdn.net/2401_87025655/article/details/142699137

场景三: 编写程序数一下 1到 100 的所有整数中出现多少个数字9

本题有一个初学者容易掉进的坑(反正我就掉了,哈哈😄)

话不多说,上分析链接👉

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

场景四:一个正整数的逆序打印

输入示例:1234

输出示例:4321 

 分析详见👉C题(八)一个正整数的逆序打印(用循环结构实现)

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

二、图形的打印(难度:**)

 场景一:矩形、直角三角形

👉https://blog.csdn.net/2401_87025655/article/details/142651077

 场景二:正三角形

👉 https://blog.csdn.net/2401_87025655/article/details/142675413

三、密钥(难度:**)

场景一:“芝麻开门 ”是通往C语言的大门的暗号,现在你需要说对暗号,大门才会打开。

 👉分析的链接:

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

场景二:输入一串密码,如:“123   xxxx” ,然后读取并确认,是 --- Y;否 --- N。 

👉分析的链接: 

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

四、数学问题(二)(难度:***)

 场景一:水仙花数是指一个三位数,它的每个数位上的数字的立方和等于它本身。
例如,153就是一个水仙花数,因为1³ + 5³+ 3³ = 1 + 125 + 27 = 153。

👉分析的链接(难点剖析): 

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

场景二:打印1到100之间的素数。(素数也叫质数,是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。例如2、3、5、7、11等都是素数。)

👉分析的链接 :(含对C语言中0与非0的认知、flag证伪理论)

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

五、实际场景(难度:***)--- 自选小炒

 场景一:

“要吃什么吗,靓仔?” 热情的食堂阿姨问你了,你要怎么回答?

 【分解目标1】选择吃与不吃

第一步:打印菜单(先执行 --- 用do - while循环) 

    do{//菜单栏printf("******* 1、炒面 *******\n");printf("******* 2、炒饭 *******\n");printf("******* 3、炒粉 *******\n");printf("**** 0、不了,谢谢 ****\n");}while();

 第二步:开始选择

        //选择栏int input = 1;printf("请选择:>");scanf("%d", &input);

第三步:循环实现 --- 如果不吃,阿姨就问下一位同学

基于:在C语言中,非0表示真,0表示假,所以👉

选择 1、2 、3(非0)时,加上取反操作符 !-----> 变为0,表示假,循环终止。

选择 0 时,加上 !------> 变为非0,表示真,循环继续。

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{int input = 1;printf("要吃什么吗,靓仔?\n");do{//菜单栏printf("******* 1、炒面 *******\n");printf("******* 2、炒饭 *******\n");printf("******* 3、炒粉 *******\n");printf("**** 0、不了,谢谢 ****\n");//选择栏printf("请选择:>");scanf("%d", &input);//如果不吃if (input == 0){printf("\n你呢,同学?\n\n");}//如果吃else{printf("循环体1");}} while (!input); //非0表示真,0表示假return 0;
}

【分解目标2】选择如下(自选小炒配料):>(注:米、面、粉免费)

————两肉两菜 :8元

————三肉两菜 :9元

————三肉三菜 :10元

接下来,编写循环体1

            printf("同学,有8、9、10元的配料,你要几元的配料呀?:>");int input1 = 0;scanf("%d",&input1);switch (input){case 8:printf("语句1\n");break;case 9:printf("语句2\n");break;case 10:printf("语句3\n");break;}

tip:因为我这里说明在 8、9、10中选,所以我switch内部没有写default子句。(当然,有写更好)。  

【分解目标3】选择哪种肉,哪种菜

以8元的为例,选两肉两菜,共4个选择,所以语句1为 👉

printf("同学,选一下配料。\n");
int j = 0;
for (j = 4; j > 0; j--)
{printf("这个。\n");
}

同理,9元---5个选择 ; 10元 --- 6个选择。 

【分解目标4】同学选完后,给下一个同学选择

语句1、2、3执行完后都加上input = 0,使得do - while循环继续。 


最终代码 👉

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{int input = 1;printf("要吃什么吗,靓仔?\n");do{//菜单栏printf("******* 1、炒面 *******\n");printf("******* 2、炒饭 *******\n");printf("******* 3、炒粉 *******\n");printf("**** 0、不了,谢谢 ****\n");//选择栏printf("请选择:>");scanf("%d", &input);//如果不吃if (input == 0){printf("\n你呢,同学?\n\n");}//如果吃else{//选小炒配料printf("同学,有8、9、10元的配料,你要几元的配料呀?:>");int input1 = 0;scanf("%d",&input1);int j = 0;switch (input1){case 8:printf("同学,选一下配料。\n");for (j = 4; j > 0; j--){printf("这个。\n");}input = 0;break;case 9:printf("同学,选一下配料。\n");for (j = 5; j > 0; j--){printf("这个。\n");}input = 0;break;case 10:printf("同学,选一下配料。\n");for (j = 6; j > 0; j--){printf("这个。\n");}input = 0;break;}}} while (!input); //非0表示真,0表示假return 0;
}

运行结果:👉

要吃什么吗,靓仔?
******* 1、炒面 *******
******* 2、炒饭 *******
******* 3、炒粉 *******
**** 0、不了,谢谢 ****
请选择:>0你呢,同学?******* 1、炒面 *******
******* 2、炒饭 *******
******* 3、炒粉 *******
**** 0、不了,谢谢 ****
请选择:>1
同学,有8、9、10元的配料,你要几元的配料呀?:>8
同学,选一下配料。
这个。
这个。
这个。
这个。
******* 1、炒面 *******
******* 2、炒饭 *******
******* 3、炒粉 *******
**** 0、不了,谢谢 ****
请选择:>2
同学,有8、9、10元的配料,你要几元的配料呀?:>9
同学,选一下配料。
这个。
这个。
这个。
这个。
这个。
******* 1、炒面 *******
******* 2、炒饭 *******
******* 3、炒粉 *******
**** 0、不了,谢谢 ****
请选择:>

六、后记 

这个do - while循环常用于菜单栏的弹出,之后如果有写设计游戏库的博文的话,会用到。 

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

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

相关文章

GO网络编程(五):海量用户通信系统3:整体框架与C/S通信总体流程【重要】

这个系统其实是尚硅谷的老韩讲的&#xff08;尚硅谷网络编程项目&#xff09;&#xff0c;但是他讲得很碎片化&#xff0c;思路不够清晰&#xff0c;时间又长&#xff0c;所以要掌握还是挺难的。如果你听了他的视频&#xff0c;不去梳理系统业务流程&#xff0c;不去看代码就往…

Vivado - JTAG to AXI Master (GPIO、HLS_IP、UART、IIC)

1. 简介 本文分享 JTAG to AXI Master IP Core 的使用教程。 此 IP 用于 AXI 接口向设计输入数据&#xff0c;或者读取数据。通过 Tcl 控制台编写命令来驱动此 IP&#xff0c;通过 JTAG 即可进行操作&#xff0c;而这个 IP 则在 AXI 端口上驱动 AXI 事务。由于这个核心没有自…

oh-crop: OpenHarmony/HarmonyOS上的简单的图片剪裁库,可用于头像剪裁等常见场景。

&#x1f4da; 简介 oh-crop: OpenHarmony/HarmonyOS上的简单的图片剪裁库&#xff0c;可用于头像剪裁等常见场景。 代码仓库&#xff1a;oh-crop &#x1f4da; 下载安装 ohpm i xinyansoft/oh-cropOpenHarmony ohpm 环境配置等更多内容&#xff0c;请参考: 下载安装三方库…

六、Java 基础语法(下)

一、变量 1、变量的定义与使用 变量就是内存中的存储空间&#xff0c;空间中存储着经常发生改变的数据变量定义格式&#xff1a; 数据类型 变量名 数据值使用时根据变量名使用举例如下&#xff0c;上面是代码&#xff0c;下面是输出 2、变量的注意事项 变量名不允许重复…

系统分析师16:系统测试与维护

1 内容概要 2 软件测试类型 2.1 测试类型 动态测试【计算机运行】 白盒测试法&#xff1a;关注内部结构与逻辑灰盒测试法&#xff1a;介于两者之间黑盒测试法&#xff1a;关注输入输出及功能 静态测试【人工监测和计算机辅助分析】 桌前检查代码审查代码走查以上三个都是做的…

图解网络OSI模型与TCP/IP

一、OSI模型与TCP/IP 1、OSI模型 OSI/RM&#xff08;Open System Interconnection&#xff0c;开放系统互联参考模型&#xff09;是由ISO&#xff08;国际标准组织&#xff09;创建的一个有助于开放和理解计算机的通信模型&#xff0c;OSI七层参考模型作为一套规范的标准&…

端口冲突的解决方案以及SpringBoot自动检测可用端口demo

端口冲突的解决方案 端口冲突通常发生在尝试运行两个或多个应用程序或服务时&#xff0c;它们尝试使用同一个端口号&#xff0c;导致系统无法正确分配资源。 各种端口错误 你是否遇到过下面这些报错信息呢&#xff1f; Windows 系统报错&#xff1a; 系统错误 1004 套接字操作…

[C#]使用纯opencvsharp部署yolov11-onnx图像分类模型

【官方框架地址】 https://github.com/ultralytics/ultralytics.git 【算法介绍】 使用纯OpenCvSharp部署YOLOv11-ONNX图像分类模型是一项复杂的任务&#xff0c;但可以通过以下步骤实现&#xff1a; 准备环境&#xff1a;首先&#xff0c;确保开发环境已安装OpenCvSharp和必…

初始项目托管到gitee教程,开箱即用

0.本地仓库与远程仓库关联&#xff08;需先在gitee创建仓库&#xff09; ①打开powershell生成ssh key ssh-keygen -t ed25519 -C "Gitee SSH Key"-t key 类型-C 注释 生成成功如下&#xff0c;并按下三次回车 ②查看公私钥文件 ls ~/.ssh/输出&#xff1a; id_…

PPPoE协议个人理解+报文示例+典型配置-RFC2516

个人认为&#xff0c;理解报文就理解了协议。通过报文中的字段可以理解协议在交互过程中相关传递的信息&#xff0c;更加便于理解协议。 因此本文将在PPPoE协议报文的基础上进行介绍。 PPPoE协议发展 关于PPPoE基本原理&#xff0c;可参考1999年发布的《RFC2516-A Method fo…

大模型客服的未来发展趋势

在当今数字化时代&#xff0c;大模型客服正以惊人的速度改变着客户服务的格局。随着技术的不断进步&#xff0c;大模型客服的未来发展趋势充满了无限可能。随着人工智能技术的快速发展&#xff0c;智能客服领域正迎来一场前所未有的变革。大模型客服作为其中的重要分支&#xf…

32位机器上指针大小为什么是4字节?

&#xff08;1&#xff09;32位机器可寻址内存空间位4GB。为什么&#xff1f; 32位机器的总线宽度是32位&#xff0c;每一位可以是0或者1&#xff0c;那么32位可以表示个不同的值&#xff0c;也就是能寻址到个内存地址&#xff0c;每个内存地址对应一个内存单元&#xff08;1个…

RFID学习

24.10.5学习目录 一.简介1.组成2.RFID协议3.RFID卡 一.简介 RFID被称为无线射频识别&#xff0c;其是一种通信技术&#xff0c;通过无线电讯号耦合识别特定目标并读写相关数据&#xff1b; RFID主要位于典型物联网架构中的感知层&#xff0c;其因为具有非接触式特性&#xff…

hiricacp 连接池校验机制

一、背景 项目发生告警&#xff0c;但是并没有影响业务&#xff0c;看了下日志&#xff0c;红框里面有循环调用了3次 &#xff0c;一直以为是外部的重试在重试&#xff0c;但是外部确没有重试记录&#xff0c;就深扒了代码 二、想法 我知道hikaricp获取连接之后会校验连接的有…

k8s 之安装metrics-server

作者&#xff1a;程序那点事儿 日期&#xff1a;2024/01/29 18:25 metrics-server可帮助我们查看pod的cpu和内存占用情况 kubectl top po nginx-deploy-56696fbb5-mzsgg # 报错&#xff0c;需要Metrics API 下载 Metrics 解决 wget https://github.com/kubernetes-sigs/metri…

系统架构设计师⑦:企业信息化战略与实施

系统架构设计师⑦&#xff1a;企业信息化战略与实施 信息的概念及特点 信息的定义&#xff1a; ①香农:信息就是不确定性的减少。 ②维纳:信息就是信息&#xff0c;既不是物质&#xff0c;也不是能量。 信息的特点&#xff1a; ①客观性(真伪性):也叫事实性&#xff0c;不符…

【最新华为OD机试E卷-支持在线评测】简单的自动曝光(100分)多语言题解-(Python/C/JavaScript/Java/Cpp)

🍭 大家好这里是春秋招笔试突围 ,一枚热爱算法的程序员 💻 ACM金牌🏅️团队 | 大厂实习经历 | 多年算法竞赛经历 ✨ 本系列打算持续跟新华为OD-E/D卷的多语言AC题解 🧩 大部分包含 Python / C / Javascript / Java / Cpp 多语言代码 👏 感谢大家的订阅➕ 和 喜欢�…

神经网络激活函数列表大全及keras中的激活函数定义

一、概述 在机器学习中&#xff0c;激活函数是神经网络中的一种函数&#xff0c;用于在神经网络的每个神经元中引入非线性。没有激活函数&#xff0c;神经网络就无法学习复杂的模式&#xff0c;因为线性变换的组合仍然是线性的。 在神经网络的每层中&#xff0c;将该层所有输…

设计模式之装饰器模式(Decorator)

一、装饰器模式介绍 装饰模式(decorator pattern) 的原始定义是&#xff1a;动态的给一个对象添加一些额外的职责。 就扩展功能而言&#xff0c;装饰器模式提供了一种比使用子类更加灵活的替代方案。 在软件设计中&#xff0c;装饰器模式是一种用于替代继承的技术&#xff0c;它…

【颜色平衡树 / E】

题目 思路 DFS暴力 60分 代码 #include <bits/stdc.h> using namespace std; const int N 5010; const int M 5010; int h[N], e[M], ne[M], idx; int c[N], f; int ans; void add(int a, int b) // 添加一条边a->b {e[idx] b, ne[idx] h[a], h[a] idx ; } …