全国青少年信息学奥林匹克竞赛(信奥赛)备考实战之循环结构(for循环语句)(六)

news2025/1/4 15:39:47

实战训练1—输出九九乘法表

问题描述:

在学校里学过九九乘法表,编程实现打印九九乘法表。

输入格式:

无输入

输出格式:


1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81

问题分析:

仔细观察乘法表,可以发现由行列构成,每列的个数正好等于所在的行数,类似于之前介绍过的字符图形,使用for循环嵌套可以解决此问题。外循环变量i来控制行数,起始值为1,终值为9,更新表达式为自增表达式,内循环变量j来控制列数,起始值为1,由于第1行有1个等式,第2行有2个等式,……,内层循环变量j的终值为行数i,更新表达式也为自增表达式,由外循环变量i和内循环变量j相乘的等式构成了内循环的循环体,内循环加输出换行共同构成外循环体。具体程序代码如下:


#include<bits/stdc++.h>
using namespace std;
int main(){
    for(int i=1;i<=9;i++){//定义外层循环,循环变量i来控制行数,从1到9 
    	for(int j=1;j<=i;j++){//定义内层循环,循环变量j来控制列数,从1到i 
    		cout<<i<<'*'<<j<<'='<<i*j<<' ';//输出i和j相乘的等式 
	}
	cout<<endl;//输出换行 
	} 
    return 0;
}

如果想让九九乘法表里面的等式对齐,如下面运行结果:


1*1= 1
2*1= 2 2*2= 4
3*1= 3 3*2= 6 3*3= 9
4*1= 4 4*2= 8 4*3=12 4*4=16
5*1= 5 5*2=10 5*3=15 5*4=20 5*5=25
6*1= 6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1= 7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1= 8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1= 9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81

可以采用格式化输出来实现,让i*j的值占两列,并且右对齐,具体程序代码如下:


#include<bits/stdc++.h>
using namespace std;
int main(){
    for(int i=1;i<=9;i++){//定义外层循环,循环变量i来控制行数,从1到9 
    	for(int j=1;j<=i;j++){//定义内层循环,循环变量j来控制列数,从1到i 
    		printf("%d*%d=%2d ",i,j,i*j);//格式化输出i,j以及i和j相乘的结果 
	}
	printf("\n");//输出换行 
	} 
    return 0;
}

实战训练2—换零钱

某人想将面值为100元的人民币兑换成若干张5元、2 元和1元面值的纸币,但要求零钱总数为50张,并且每种面值的纸币至少1张,请输出每一种可能的换法。

输入格式:

输出格式:

输出若干行,每行包含一种换法,分别表示5元的张数,2元的张数和1元的张数,中间用空格隔开。

输入输出样例:

输入样例

输出样例

1 46 3

2 42 6

3 38 9

4 34 12

5 30 15

6 26 18

7 22 21

8 18 24

9 14 27

10 10 30

11 6 33

12 2 36

问题分析:

根据题意,将100元的人民币兑换成5元、2元和1元的零钱,每种零钱至少1张,所以5元的取值可以从1到20(100元全部换5元的话,最多20张),2元的取值是1到50张(100元全部换2元,最多可以换50张),剩下的全部为1元的张数,要求列举出所有的方案数,所以可以使用for嵌套循环来实现,用外层循环变量i来控制5元的张数,内层循环j来控制2元的张数,那么1元的张数就为(50-i-j),外层循环变量i,起始值为1,终值为20,循环变量更新表达式为自增运算,内层循环变量j,起始值为1,终值为50,循环变量更新表达式也为自增运算,内层循环的循环体,首先计算1元的张数k为k=50-i-j,然后计算所有零钱的面值之和是否为100,5元的张数乘以5加上2元的张数乘以2,再加上1的张数乘以1,即5*i+2*j+k==100,同时这三种零钱的张数不能为0,由于外循环变量和内循环变量的取值都不为0,因此需要保证k不能为0,如果两个条件表达式与的结果为真,那么输出该方案可行,输出这三种零钱的张数,如果两个条件表达式与的结果为假,那么该方案不可行,内循环是外循环的循环体。具体程序代码如下:


#include<bits/stdc++.h>
using namespace std;
int main(){
    for(int i=1;i<=20;i++){//定义外循环,循环变量i为5元的张数,从1到20 
        for(int j=1;j<=50;j++){//定义内循环,循环变量j为2元的张数,从1到50 
            int k = 50-i-j;//定义1元的张数 
            if((i*5 +j*2+k==100) && (k!=0))//判断零钱面值总和是否为100,并且所有的零钱张数不能为0 
                cout<<i<<' '<<j<<' '<<k<<' '<<endl;
        }
    }
    return 0;
}

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

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

相关文章

Android 旋转盘导航栏

1.直接上源码&#xff1a; package com.you.arc;import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Point; import android.graphics.RectF; import android.support…

手搓一个ChatUI需要分几步

只关注项目代码的同学可以直接跳转目录中的正文部分&#xff0c;查看项目仓库和功能介绍。 引言 Chatbot的UI界面设计&#xff0c;是和传统软件不同的&#xff1a;都是当面一个简洁的对话框&#xff0c;框里预备着热乎的工具&#xff0c;可以随时更新。 像我这样做工的牛马&a…

低代码开发深度剖析:JNPF 如何引领变革

在当今数字化转型加速的时代&#xff0c;低代码开发已成为众多企业提升效率、降低成本的关键利器。它打破了传统开发模式的高门槛和冗长流程&#xff0c;让应用开发变得更加高效、灵活与普惠。 低代码开发的核心优势 低代码开发平台通过可视化的操作界面&#xff0c;减少了对…

uniapp实现APP、小程序与webview页面间通讯

需求&#xff1a; 1、需要在Uniapp开发的APP或小程序页面嵌入一个H5网页&#xff0c;需要拿到H5给APP传递的数据。 2、并且这个H5是使用vuevant开发的。&#xff08;其实跟使用uniapp开发H5一样&#xff09; 实现步骤&#xff1a; 1、首先需要兼容多端和App端&#xff0c;因…

网络游戏之害

网络游戏之害&#xff1a; 网络游戏于今之世风靡四方&#xff0c;其娱人耳目、畅人心怀之效&#xff0c;固为人知&#xff0c;然所藏之害&#xff0c;若隐伏之暗潮&#xff0c;汹涌而至时&#xff0c;足以覆舟&#xff0c;尤以青年为甚&#xff0c;今且缕析其害&#xff0c;以…

数据库的创建与删除:理论与实践

title: 数据库的创建与删除:理论与实践 date: 2024/12/31 updated: 2024/12/31 author: cmdragon excerpt: 在当今的数字时代,数据的管理和存储变得尤为重要。数据库作为数据存储的结构化方案,为数据的增删改查提供了系统化的方法。在一个典型的数据库管理系统中,创建和…

【电机控制】基于STC8H1K28的六步换向——方波驱动(软件篇)

【电机控制】基于STC8H1K28的六步换向——方波驱动&#xff08;软件篇&#xff09; 文章目录 [TOC](文章目录) 前言一、main.c二、GPIO.c三、PWMA.c四、ADC.c五、CMP.c六、Timer.c七、PMSM.c八、参考资料总结 前言 【电机控制】STC8H无感方波驱动—反电动势过零检测六步换向法 …

优化租赁小程序提升服务效率与用户体验的策略与实践

内容概要 在这个快速发展的商业环境中&#xff0c;租赁小程序成为了提升服务效率和用户体验的重要工具。通过对用户需求的深入挖掘&#xff0c;我们发现他们对于功能的便捷性、响应速度和界面的友好性有着极高的期待。因此&#xff0c;针对这些需求&#xff0c;完善租赁小程序…

电子电器架构 --- 智能座舱与AI结合

我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的汽车电子工程师。 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免自己成为高知识低文化的工程师&#xff1a; 所谓鸡汤&#xff0c;要么蛊惑你认命&#xff0c;要么怂恿你拼命&#xff0c;但都是回避问题的根源&…

C语言 斐波那契数列(递归算法)

C语言 斐波那契数列&#xff08;递归算法&#xff09; 什么是斐波那契数列&#xff1f; 是指这样一个数列&#xff1a;0&#xff0c;1&#xff0c;1&#xff0c;2&#xff0c;3&#xff0c;5&#xff0c;8&#xff0c;13……这个数列从第3项开始 &#xff0c;每一项都等于前两…

互联网直播点播平台EasyDSS无人机视频推拉流技术实现工地远程监控巡检直播

在建筑行业&#xff0c;施工现场的安全管理和实时监控一直是项目管理中的重点。随着技术的进步&#xff0c;无人机工地直播技术成为了一种新兴的解决方案&#xff0c;它不仅能够提高施工透明度&#xff0c;还能够加强现场安全管理。EasyDSS作为一种先进的流媒体技术平台&#x…

【每日学点鸿蒙知识】模拟器开启网络、长时任务、兼容性测试支持、丢帧定位、SO中访问rawfile等

1、模拟器如何开启网络&#xff1f; 模拟器使用的是电脑本身的网络&#xff0c;不通过代理即可访问网络。 2、创建子window后&#xff0c;锁屏很短时间内&#xff0c;应用会被杀死&#xff1f; 没开长时任务&#xff0c;锁屏和退后台保活要开长时任务。 应用退至后台后&…

计算机网络 (18)使用广播信道的数据链路层

一、广播信道的基本概念 广播信道是一种允许一个发送者向多个接收者发送数据的通信信道。在计算机网络中&#xff0c;广播信道通常用于局域网&#xff08;LAN&#xff09;内部的主机之间的通信。这种通信方式的主要优点是可以节省线路&#xff0c;实现资源共享。 二、广播信道数…

深度学习——损失函数汇总

1. 连续值损失函数 总结:主要使用胡贝儿损失函数,应用于连续数值的预测之间的误差损失,参考地址 import torch import torch.nn as nna = torch.tensor([[1, 2], [3, 4]], dtype=torch.float) b = torch.tensor([[3, 5], [8, 6]], dtype=torch.float)loss_fn1 = torch.nn.M…

github 项目分享

今天和大家分享一些github上面搜到关于卫星遥感和水环境相关的项目。 一、WaterDetect 使用端到端算法去识别水体范围的算法&#xff0c;针对哨兵2卫星遥感数据可用。 项目地址&#xff1a; https://github.com/cordmaur/WaterDetect 二、DeepWaterMap 深度卷积神经网络去…

音视频入门基础:MPEG2-PS专题(2)——使用FFmpeg命令生成ps文件

一、错误的命令 通过FFmpeg命令可以将mp4文件转换为ps文件&#xff0c;PS文件中包含PS流数据。 由于PS流/PS文件对应的FFInputFormat结构为&#xff1a; const FFInputFormat ff_mpegps_demuxer {.p.name "mpeg",.p.long_name NULL_IF_CONFIG_SMALL…

活动预告 | Microsoft Azure 在线技术公开课:使用 Azure OpenAI 服务构建生成式应用

课程介绍 通过 Microsoft Learn 免费参加 Microsoft Azure 在线技术公开课&#xff0c;掌握创造新机遇所需的技能&#xff0c;加快对 Microsoft Cloud 技术的了解。参加我们举办的“使用 Azure OpenAI 服务构建生成式应用”活动&#xff0c;了解如何使用包括 GPT 在内的强大的…

springboot523基于Spring Boot的大学校园生活信息平台的设计与实现(论文+源码)_kaic

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本大学校园生活信息平台就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的数据…

机器学习详解(11):分类任务的模型评估标准

模型评估是利用不同的评估指标来了解机器学习模型的性能&#xff0c;以及其优势和劣势的过程。评估对于确保机器学习模型的可靠性、泛化能力以及在新数据上的准确预测能力至关重要。 文章目录 1 介绍2 评估准则3 分类指标3.1 准确率 (Accuracy)3.2 精确率 (Precision)3.3 召回率…

天天跳绳(???)

广东省人民政府门户网站 https://www.gd.gov.cn/zwgk/zdlyxxgkzl/whjg/content/post... 二沙岛变身智能“运动岛” - 广东省人民政府门户网站 2020年10月20日  广州二沙岛&#xff0c;犹如一颗璀璨明珠点缀在珠江之心&#xff0c;自然风光旖旎&#xff0c;功能分区清 … 公共…