【C语言程序设计——循环程序设计】枚举法换硬币(头歌实践教学平台习题)【合集】
目录😋
任务描述
相关知识
一、循环控制 / 跳转语句的使用
1. 循环控制语句(for 循环)
2. 循环控制语句(while 循环)
3. 跳转语句(break 语句)
4. 跳转语句(continue 语句)
二、循环嵌套语句
1. 基本概念
2. for 循环嵌套
3. while 循环嵌套
4. do - while 循环嵌套
5. 注意事项
编程要求
测试说明
通关代码
测试结果
任务描述
本关任务:运用枚举法求解硬币等额兑换的程序。
相关知识
为了完成本关任务,你需要掌握:
- 循环控制/跳转语句
- 循环嵌套语句;
一、循环控制 / 跳转语句的使用
1. 循环控制语句(for 循环)
- 基本原理:
for循环是一种常用的循环结构,它允许您指定一个初始化表达式、一个循环条件和一个更新表达式。语法格式为for(初始化表达式; 循环条件; 更新表达式)。初始化表达式在循环开始时执行一次,用于初始化循环变量。循环条件在每次循环迭代开始时进行检查,如果为真,则执行循环体中的代码。更新表达式在每次循环体执行完后执行,用于更新循环变量。- 示例代码
#include <stdio.h> int main() {// 打印1到10的数字for (int i = 1; i <= 10; i++) {printf("%d ", i);}printf("\n");return 0; }2. 循环控制语句(while 循环)
- 基本原理:
while循环在循环开始时检查循环条件。只要条件为真,就会执行循环体中的代码。语法格式为while(循环条件)。循环条件是一个表达式,它返回一个布尔值(真或假)。在循环体中,通常需要包含一些能够改变循环条件的语句,否则可能会导致无限循环。- 示例代码
#include <stdio.h> int main() {int i = 1;while (i <= 10) {printf("%d ", i);i++;}printf("\n");return 0; }3. 跳转语句(break 语句)
- 基本原理:
break语句用于立即跳出当前循环(for、while、do - while)或switch语句。当程序执行到break语句时,循环或switch语句会立即终止,程序控制流将跳转到循环或switch语句后的下一条语句。- 示例代码(在循环中使用 break)
#include <stdio.h> int main() {for (int i = 1; i <= 10; i++) {if (i == 5) {break;}printf("%d ", i);}printf("\n");return 0; }4. 跳转语句(continue 语句)
- 基本原理:
continue语句用于跳过当前循环迭代的剩余部分,直接开始下一次循环迭代。当程序执行到continue语句时,循环体中continue语句之后的代码将不会被执行,而是直接跳转到循环的更新表达式(对于for循环)或循环条件检查(对于while和do - while循环)。- 示例代码(在循环中使用 continue)
#include <stdio.h> int main() {for (int i = 1; i <= 10; i++) {if (i == 5) {continue;}printf("%d ", i);}printf("\n");return 0; }
二、循环嵌套语句
1. 基本概念
循环嵌套是指在一个循环语句的循环体中又包含另一个循环语句。在 C 语言中,
for循环、while循环和do - while循环都可以相互嵌套。它主要用于处理具有多重循环结构的问题,例如二维数组的遍历、打印各种有规律的图案等。2. for 循环嵌套
- 语法结构
最常见循环嵌套结构是
for循环嵌套for循环。其基本形式如下:for(初始化表达式1; 条件表达式1; 更新表达式1) {// 外层循环体for(初始化表达式2; 条件表达式2; 更新表达式2) {// 内层循环体} }下面的代码打印了一个简单的乘法口诀表:
#include <stdio.h> int main() {int i, j;for(i = 1; i <= 9; i++) {for(j = 1; j <= i; j++) {printf("%d*%d=%d\t", j, i, i * j);}printf("\n");}return 0; }其中,外层
for循环控制行数(i从 1 到 9),内层for循环控制每行乘法口诀的列数(j从 1 到当前行号i)。每次内层循环结束后,会输出一个换行符,形成了一个完整的乘法口诀表。3. while 循环嵌套
- 语法结构
基本形式如下:
while(条件表达式1) {// 外层循环体while(条件表达式2) {// 内层循环体} }例如,下面的代码用于计算两个数的最大公因数,使用的是辗转相除法(欧几里得算法),可以用
while循环嵌套来实现:#include <stdio.h> int main() {int a, b, temp;printf("请输入两个整数:");scanf("%d %d", &a, &b);while (b!= 0) {temp = a % b;a = b;b = temp;}printf("最大公因数是:%d\n", a);return 0; }这里,外层
while循环用于不断更新a和b的值,直到b变为 0,内层的操作(计算余数并更新a和b)在每次外层循环迭代时都会执行。4. do - while 循环嵌套
- 语法结构
基本形式如下:
do {// 外层循环体do {// 内层循环体} while(条件表达式2); } while(条件表达式1);例如,下面的代码可以用于模拟一个简单的游戏关卡选择界面,假设游戏有多个章节,每个章节有多个关卡,用户可以选择章节和关卡:
#include <stdio.h> int main() {int chapter, level;do {printf("请选择章节(1 - 3):");scanf("%d", &chapter);if (chapter >= 1 && chapter <= 3) {do {printf("请选择章节 %d中的关卡(1 - 5):", chapter);scanf("%d", &level);if (level >= 1 && level <= 5) {printf("你选择了章节 %d的关卡 %d\n", chapter, level);} else {printf("无效的关卡选择。\n");}} while (level < 1 || level > 5);} else {printf("无效的章节选择。\n");}} while (chapter < 1 || chapter > 3);return 0; }其中,外层
do - while循环用于确保用户选择了有效的章节(1 - 3),内层do - while循环用于确保用户在选定的章节中选择了有效的关卡(1 - 5)。5. 注意事项
- 循环嵌套时,要特别注意内层循环和外层循环的控制变量。它们应该相互独立,避免在内层循环中意外修改外层循环的控制变量,除非这是有意为之并且经过仔细考虑的逻辑。
- 随着循环嵌套层数的增加,程序的复杂度也会增加。因此,在编写循环嵌套代码时,要确保代码的可读性,必要时添加注释来解释代码的功能和意图。同时,要注意循环嵌套可能带来的性能问题,例如过多的嵌套可能导致程序运行时间过长或者占用过多的内存资源。
编程要求
根据提示在右侧编辑器Begin--End之间的区域内补充必要的代码。
测试说明
平台会对你编写的代码进行测试:
预期输出:
1fen: 5 ,2fen: 10 ,5fen: 15 1fen: 5 ,2fen: 35 ,5fen: 5 1fen: 10 ,2fen: 20 ,5fen: 10 1fen: 15 ,2fen: 5 ,5fen: 15 1fen: 15 ,2fen: 30 ,5fen: 5 1fen: 20 ,2fen: 15 ,5fen: 10 1fen: 25 ,2fen: 25 ,5fen: 5 1fen: 30 ,2fen: 10 ,5fen: 10 1fen: 35 ,2fen: 20 ,5fen: 5 1fen: 40 ,2fen: 5 ,5fen: 10 1fen: 45 ,2fen: 15 ,5fen: 5 1fen: 55 ,2fen: 10 ,5fen: 5 1fen: 65 ,2fen: 5 ,5fen: 5 一共有13种
开始你的任务吧,祝你成功!
通关代码
/*6.要将一元钱换成1分、2分和5分的硬币,每种硬币的个数大于0,且为5的倍数,
编写程序计算并输出有多少种换法。*/
#include<stdio.h>
main(){int i,j,k,n=0;/************************begin***********************/for(i=1;i<100;i++){for(j=1;j<=50;j++){for(k=1;k<20;k++){if(i+2*j+5*k==100 && i%5==0 && j%5==0 && k%5==0){n++;printf("1fen: %2d ,2fen: %2d ,5fen: %2d\n",i,j,k);}}}} /************************end************************/printf( "一共有%d种",n);
}
测试结果

相关文章:
【C语言程序设计——循环程序设计】枚举法换硬币(头歌实践教学平台习题)【合集】
目录😋 任务描述 相关知识 一、循环控制 / 跳转语句的使用 1. 循环控制语句(for 循环) 2. 循环控制语句(while 循环) 3. 跳转语句(break 语句) 4. 跳转语句(continue 语句&…...
在调用 borrowObject 方法时,Apache Commons Pool 会根据连接池的配置触发一系列相关的方法
在调用 borrowObject 方法时,Apache Commons Pool 会根据连接池的配置触发一系列相关的方法 1. GrpcChannel 的概念 GrpcChannel 是 gRPC 客户端与服务器之间通信的核心组件。它是基于 HTTP/2 的连接,支持多路复用,即通过单个通道可以发送多…...
Linux中的tty和pts概念和区别
目录 1、什么是tty (1)tty的概念 (2)tty0 (3)tty1~6 2、什么是pts (1)pts的含义 (2)pts的具体解释 3、pts与 tty 设备的比较 4、设备文件的位置 1、什…...
【SOC 芯片设计 DFT 学习专栏 -- RTL 中的信号名和 Netlist 中的信号名差异】
Overview 本文将介绍 soc 设计中 RTL-to-Netlist 映射及 RTL 中的信号名和 Netlist 中的信号名差异, 在 SoC设计中,RTL-to-Netlist映射 是从RTL(Register Transfer Level)代码转换为Netlist的过程。这通常涉及将用硬件描述语言&…...
机器学习经典算法——线性回归
目录 算法介绍 一元线性回归模型 多元线性回归模型 误差项分析 相关系数 算法案例 一元线性回归预测——广告销售额案例 二元线性回归预测——血压收缩案例 多元线性回归预测——糖尿病案例 算法介绍 线性回归是利用数理统计中回归分析,来确定两种或两种…...
MLU上使用MagicMind GFPGANv1.4 onnx加速!
文章目录 前言一、平台环境准备二、环境准备1.GFPGAN代码处理2.MagicMind转换修改env.sh修改run.sh参数解析运行 3.修改后模型运行 前言 MagicMind是面向寒武纪MLU的推理加速引擎。MagicMind能将人工智能框架(TensorFlow、PyTorch、Caffe与ONNX等)训练好…...
VulnHub—potato-suncs
使用命令扫描靶机ip arp-scan -l 尝试访问一下ip 发现一个大土豆没什么用 尝试扫描一下子域名 没有发现什么有用的信息 尝试扫描端口 namp -A 192.168.19.137 -p- 尝试访问一下端口,发现都访问不进去 查看源代码发现了网页的标题 potato,就想着爆破一下密码 hydr…...
【Flink CDC】Flink CDC的Schema Evolution表结构演变的源码分析和流程图
Flink CDC版本:3.2.1 说明:本文从SchemaOperator接收到,表结构变更事件开始,表结构变更事件应由source端产生,本文不讨论。 可以先看流程图,研究源码。 参考文章: Flink cdc3.0动态变更表结构—…...
【智能算法】改进蚁狮优化算法【matlab】
目录 1 主要内容 2 部分程序 3 程序结果 下载链接 1 主要内容 该程序方法复现《改进蚁狮算法的无线传感器网络覆盖优化》两种改进算法模型,即原始ALO算法的基础上添加了两种改进策略: - 改进1:将原先的间断性边界收缩因子变为连续性边界…...
swagger导出json
要将 Swagger(或者 OpenAPI)文档导出为 JSON 文件,通常有几种常见的方法,具体取决于你使用的 Swagger 工具(如 Swagger UI、Swagger Editor、Swagger Hub 等)。下面列出了几种常见的导出 JSON 文件的方法。 1. 通过 Swagger UI 导出 JSON 文件 如果你在使用 Swagger UI…...
Go语言的 的引用数据类型(Reference Data Types)核心知识
Go语言的引用数据类型(Reference Data Types)核心知识 引言 Go语言作为一种现代编程语言,因其简洁的语法、强大的并发支持以及丰富的标准库而受到广泛欢迎。在Go语言中,数据类型可以分为值类型和引用类型。本文将深入探讨Go语言…...
JAVA解析Excel复杂表头
废话不多说,直接上源码。前后端都有哦~~~~~~~~ 能帮到你记得点赞收藏哦~~~~~~~&#…...
jmeter 中 BeanShell 预处理程序、JSR223后置处理程序使用示例
1. 各个组件如何新建的? 2. "http请求" 组件内容样例: "消息体数据" 源码: {"task_tag": "face_detect","image_type": "base64","extra_args": [{"model"…...
我的创作纪念日——《惊变128天》
我的创作纪念日——《惊变128天》 机缘收获日常成就憧憬 机缘 时光飞逝,转眼间,我已在这条创作之路上走过了 128 天。回顾起 2024 年 8 月 29 日,我满怀忐忑与期待,撰写了第一篇技术博客《讲解LeetCode第1题:两数之和…...
vuedraggable 选项介绍
vuedraggable 是基于 SortableJS 的 Vue 组件,提供了丰富的选项来定制拖拽行为。以下是 vuedraggable 常用的选项和它们的详细说明: 常用选项介绍 group 配置拖拽分组。多个列表可以共享同一个分组,允许它们之间的项目互相拖拽。 group: { na…...
微信小程序获取后端数据
在小程序中获取后端接口数据 通常可以使用 wx.request 方法,以下是一个基本示例: // pages/index/index.js Page({data: {// 用于存储后端返回的数据resultData: [] },onLoad() {this.fetchData();},fetchData() {wx.request({url: https://your-backe…...
ThreadLocal` 的工作原理
ThreadLocal 的工作原理: ThreadLocal 是 Java 提供的一个类,它用于为每个线程提供独立的变量副本。也就是说,多个线程访问同一个 ThreadLocal 变量时,每个线程看到的值都是不同的,相互隔离,互不干扰。 T…...
数据挖掘教学指南:从基础到应用
数据挖掘教学指南:从基础到应用 引言 数据挖掘是大数据时代的核心技术之一,它从大量数据中提取有用信息和知识。本教学文章旨在为学生和初学者提供一个全面的数据挖掘学习指南,涵盖数据挖掘的基本概念、流程、常用技术、工具以及教学建议。…...
大模型搜索引擎增强问答demo-纯python实现
流程概览 本文使用python语言,实现了大模型搜索引擎增强问答demo。 大模型搜索引擎增强问答定义:根据问题搜索得到相关内容,拼接prompt=问题+搜索结果,将这个prompt传入大模型,得到最终的结果。 优势在于搜索引擎可以返回实时性信息,例如明日双色球开奖信息、最新八卦…...
【C语言程序设计——选择结构程序设计】按从小到大排序三个数(头歌实践教学平台习题)【合集】
目录😋 任务描述 编程要求 相关知识 1. 选择结构 2. 主要语句类型 3. 比较操作 4. 交换操作 测试说明 通关代码 测试结果 任务描述 本关任务:从键盘上输入三个数,请按从小到大的顺序排序并打印输出排序后的结果。 编程要求 根据提示…...
[特殊字符]1 概述无线可充电传感器网络(WRSN)中公交网络辅助的无人机调度研究摘要:无线可充电传感器网络(WRSN)被广泛应用于环境和交通监测、视频监控和医疗护理等领域,有助于提高城市生活质
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
Chandra OCR实战:手把手教你批量处理扫描件,保留表格公式直接进知识库
Chandra OCR实战:手把手教你批量处理扫描件,保留表格公式直接进知识库 1. 为什么选择Chandra OCR 在日常工作中,我们经常遇到这样的困扰: 扫描的合同、发票、学术论文等文档,传统OCR工具只能识别文字,丢…...
PyFluent:3种方法让CFD仿真效率提升200%
PyFluent:3种方法让CFD仿真效率提升200% 【免费下载链接】pyfluent Pythonic interface to Ansys Fluent 项目地址: https://gitcode.com/gh_mirrors/pyf/pyfluent 想象一下,当你的CFD仿真工作不再需要反复点击图形界面,而是通过几行P…...
3步永久保存:喜马拉雅音频下载工具让付费内容真正属于你
3步永久保存:喜马拉雅音频下载工具让付费内容真正属于你 【免费下载链接】xmly-downloader-qt5 喜马拉雅FM专辑下载器. 支持VIP与付费专辑. 使用GoQt5编写(Not Qt Binding). 项目地址: https://gitcode.com/gh_mirrors/xm/xmly-downloader-qt5 你是否曾为喜马…...
零基础玩转Z-Image-Turbo-辉夜巫女:8步生成高质量图片,小白也能当AI画师
零基础玩转Z-Image-Turbo-辉夜巫女:8步生成高质量图片,小白也能当AI画师 1. 引言:人人都能成为AI画师 你是否曾经羡慕那些能随手画出精美插画的大触?现在,借助Z-Image-Turbo-辉夜巫女这个AI工具,零基础的…...
如何在Windows和Linux上快速免费解锁VMware的macOS虚拟机支持
如何在Windows和Linux上快速免费解锁VMware的macOS虚拟机支持 【免费下载链接】unlocker VMware Workstation macOS 项目地址: https://gitcode.com/gh_mirrors/unloc/unlocker 想在VMware中运行macOS虚拟机吗?VMware解锁工具是您的终极解决方案!…...
Qwen3-TTS-12Hz-1.7B-Base效果展示:俄语文学朗诵与科技文献朗读对比
Qwen3-TTS-12Hz-1.7B-Base效果展示:俄语文学朗诵与科技文献朗读对比 声音克隆:Qwen3-TTS-12Hz-1.7B-Base 1. 多语言语音合成的突破 Qwen3-TTS-12Hz-1.7B-Base是一个支持10种主要语言的语音合成模型,包括中文、英文、日文、韩文、德文、法文、…...
2026年,高端车主寻高性价比底盘整备,哪家修理厂能一次性搞定?
在汽车的日常使用中,底盘问题是让众多车主头疼的一大难题。尤其是高端车主,既希望解决底盘问题,又想追求高性价比的解决方案。那么在2026年,哪家修理厂能满足高端车主对底盘整备高性价比的需求呢?今天就为大家详细介绍…...
PhotoshopCClinux部署实战:企业环境批量安装的10个最佳实践技巧
PhotoshopCClinux部署实战:企业环境批量安装的10个最佳实践技巧 【免费下载链接】photoshopCClinux Photoshop CC v19 installer for Gnu/Linux 项目地址: https://gitcode.com/gh_mirrors/ph/photoshopCClinux 在企业环境中高效部署Photoshop CC v19到多台L…...
自动化测试质量
自动化测试质量:提升软件交付效率的关键 在当今快速迭代的软件开发环境中,自动化测试已成为保障产品质量的重要手段。它不仅能够显著提高测试效率,还能减少人为错误,确保软件在复杂场景下的稳定性。自动化测试的质量直接影响其效…...

