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

实战训练1—最大差值

问题描述:

输入n个非负整数,找出这个n整数的最大值与最小值,并求最大值和最小值的差值。

输入格式:

共两行,第一行为整数的个数 n(1≤n≤1000)。第二行为n个整数的值(整数值在int类型表示范围之内),整数之间以一个空格分隔。

输出格式:

输出一行,n个整数中的最大值,最小值和差值,并用空格隔开。

输入输出样例:

输入样例1

输出样例1

5

3 7 1 2 9

9 1 8 

输入样例2

输出样例2

8

13 20 4 9 35 8 46 3

46 3 43

问题分析:

根据题意,求n个整数的最大值、最小值以差值,首先定义最大值变量和最小值变量来维护当前已经出现整数中的最大值和最小值,然后需要重复输入n次整数,到目前并且在输入每一个整数之后依次和当前的最大值与最小值比较,如果比最大值大,将最大值修改为当前输入的整数值,如果比最小值小,将最小值修改为当前输入的整数值,在n次输入比较之后,输出最大值、最小值和两者的差值,可以采用循环来实现,循环变量初始值为1,终值为n,循环变量更新为自增运算,循环体内输入整数值,并进行比较,具体程序代码如下:


#include<bits/stdc++.h>
using namespace std;
int main(){int n,minv= INT_MAX,maxv=INT_MIN;//定义整数个数变量n,n个整数的最小值minv并初始化为整数的最大值,n个整数的最大值maxv并初始化为整数最小值 cin>>n;//输入变量n for(int i=0;i<n;i++){//重复n次整数,并比较 int tmp;//定义输入整数变量tmp cin>>tmp;//输入整数的值 if(tmp<minv){ //tmp比最小值小,将tmp设置为minv minv = tmp;}else if(tmp>maxv){//tmp比最大值大,将tmp设置为maxv maxv = tmp;}}  cout<<maxv<<' '<<minv<<' '<<(maxv-minv)<<endl;//输出最大值、最小值和差值 return 0;
}

实战训练2—某国人口

问题描述:

某国家有x亿人口,如果按照每年 0.1% 的速度增长,n年后该国将会有多人?人数保留小数点后四位。

输入格式:

一行,包含两个整数 x 和 n,分别是人口基数和年数,以单个空格分隔。

输出格式:

输出该国家n年后的人口数量,以亿为单位,保留到小数点后四位。

输入输出样例:

输入样例1

输出样例1

12 10

12.1205

输入样例2

输出样例2

13 5

13.0651

问题分析:

根据题意,首先需要输入当前这个国家的人口数x,以及年数n,两者均为int类型,1年后人数在人口基数上增加了0.1%,所以人数为x*1.001,2年后在此基础上再增加了0.1%,继续乘以1.001,依次下去,可以发现人口数量计算可以采用累乘的思想来解决,具体程序实现使用for循环来解决,循环变量初始值为1,终值为n,更新为自增运算,循环体中进行累乘,同时需要明确数据类型,人口数量起始值为整数,由于增长率为小数,所以在定义人口数时,采用double数据类型,具体程序代码如下:


#include<bits/stdc++.h>
using namespace std;
int main() {int x,n;//定义初始人口数变量x和年变量n double sum;//定义人口总数变量sum cin>>x>>n;//输入x和n sum = x;//将sum修改为开始人口数x for(int i=1; i<=n; i++) {//使用循环进行累乘 sum = sum *1.001;//使用累乘计算人口数 }printf("%0.4lf\n",sum);return 0;
}

实战训练3—多边形内角和

问题描述:

在欧几里德几何中,n 边形的内角和是(n−2)×180°。已知其中(n−1) 个内角的度数,就能计算出剩下的一个未知内角的度数。请编写一个程序,来解决这个问题。

输入格式:

共两行。其中第 1 行只有一个整数 n,第 2 行有 (n-1)个正整数,这n-1个整数是每个已知内角的度数。相邻两个整数之间用单个空格隔开。数据保证给定多边形合法。

输出格式:

一个正整数为未知内角的度数。

输入输出样例:

输入样例1

输出样例1

3

50 50 

80

输入样例2

输出样例2

4

45 90 90 

135

问题分析:

依据题意,对于n边形的n个内角之和为(n−2)×180°,已知其中的n-1个角的度数,求剩余一个角的度数,可以将n-1个角的度数进行求和,利用累加的思想,然后用总度数减去n-1个度数总和,采用for循环实现,循环变量初始值为1,终值为n-1,循环变量更新为自增运算,循环体内输入角度数并进行累加,具体程序代码如下:


#include<bits/stdc++.h>
using namespace std;
int main(){int n,sum=0,subsum=0;//定义n边形变量n、总的内角和sum并将sum初始值设置为0 n-1角的和subsum并初始化为0 cin>>n;//输入n sum = (n-2)*180;//n边形内角总和 for(int i=1;i<n;i++){//依次输入n-1个角的度数,并进行累加 int tmp; //定义角度数 cin>>tmp;//输入角度数 subsum += tmp;//累加角度数到和变量subsum }cout<<(sum-subsum)<<endl;//输出角的度数 return 0;
}

除此之外,也可以采用累减的思想,用内角总和依次减去n-1个度数,sum剩余的值就是最后一个角的度数,同理采用循环来实现,循环变量初始值为1,终值为n-1,更新为自增运算,循环体内用内角总和依次减去输入的内角度数,具体程序代码如下:


#include<bits/stdc++.h>
using namespace std;
int main(){int n,sum=0;//定义n边形变量n、总的内角和sum并将sum初始值设置为0 cin>>n;//输入n sum = (n-2)*180;//n边形内角总和 for(int i=1;i<n;i++){//依次输入n-1个角的度数,并进行累减 int tmp; //定义角度数 cin>>tmp;//输入角度数 sum -= tmp;//依次累减每个角度 }cout<<sum<<endl;//输出角的度数 return 0;
}

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

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

相关文章

纯Dart Flutter库适配HarmonyOS

纯Dart Flutter库适配HarmonyOS介绍&#xff1a; Flutter基本组件、Flutter布局组件、Flutter图片组件、Flutter字体、Flutter图标、Fluter路由、flutter动画、 Flutter表单、flutter异步等&#xff0c;纯Dart库无需任何处理&#xff0c;可以直接编译成HarmonyOs应用。 具体步…

LunarVim安装

LunarVim以其丰富的功能和灵活的定制性&#xff0c;迅速在Nvim用户中流行开来。它不仅提供了一套完善的默认配置&#xff0c;还允许用户根据自己的需求进行深度定制。无论是自动补全、内置终端、文件浏览器&#xff0c;还是模糊查找、LSP支持、代码检测、格式化和调试&#xff…

剑指Offer|LCR 015. 找到字符串中所有字母异位词

LCR 015. 找到字符串中所有字母异位词 给定两个字符串 s 和 p&#xff0c;找到 s 中所有 p 的 变位词 的子串&#xff0c;返回这些子串的起始索引。不考虑答案输出的顺序。 变位词 指字母相同&#xff0c;但排列不同的字符串。 示例 1&#xff1a; 输入: s "cbaebaba…

高质量 Next.js 后台管理模板源码分享,开发者必备

高质量 Next.js后台管理模板源码分享&#xff0c;开发者必备 Taplox 是一个基于 Bootstrap 5 和 Next.js 构建的现代化后台管理模板和 UI 组件库。它不仅设计精美&#xff0c;还提供了一整套易用的工具&#xff0c;适合各种 Web 应用、管理系统和仪表盘项目。无论你是初学者还是…

开发场景中Java 集合的最佳选择

在 Java 开发中&#xff0c;集合类是处理数据的核心工具。合理选择集合&#xff0c;不仅可以提高代码效率&#xff0c;还能让代码更简洁。本篇文章将重点探讨 List、Set 和 Map 的适用场景及优缺点&#xff0c;帮助你在实际开发中找到最佳解决方案。 一、List&#xff1a;有序存…

Java包装类型的缓存

Java 基本数据类型的包装类型的大部分都用到了缓存机制来提升性能。 Byte,Short,Integer,Long 这 4 种包装类默认创建了数值 [-128&#xff0c;127] 的相应类型的缓存数据&#xff0c;Character 创建了数值在 [0,127] 范围的缓存数据&#xff0c;Boolean 直接返回 True or Fal…

工程师 - MinGW

MinGW Minimalist GNU for Windows&#xff0c;前身为mingw32&#xff0c;是一个免费开源的软件开发环境&#xff0c;从2010年开始项目停止并不再使用。后续提供MinGW-w64。 MinGW包括: - 移植到Windows上的GNU编译器集&#xff08;GCC&#xff09;&#xff0c;包括C、C、ADA和…

EasyExcel(读取操作和填充操作)

文章目录 1.准备Read.xlsx&#xff08;具有两个sheet&#xff09;2.读取第一个sheet中的数据1.模板2.方法3.结果 3.读取所有sheet中的数据1.模板2.方法3.结果 EasyExcel填充1.简单填充1.准备 Fill01.xlsx2.无模版3.方法4.结果 2.列表填充1.准备 Fill02.xlsx2.模板3.方法4.结果 …

CKA认证 | Day7 K8s存储

第七章 Kubernetes存储 1、数据卷与数据持久卷 为什么需要数据卷&#xff1f; 容器中的文件在磁盘上是临时存放的&#xff0c;这给容器中运行比较重要的应用程序带来一些问题。 问题1&#xff1a;当容器升级或者崩溃时&#xff0c;kubelet会重建容器&#xff0c;容器内文件会…

Python调用R语言中的程序包来执行回归树、随机森林、条件推断树和条件推断森林算法

要使用Python调用R语言中的程序包来执行回归树、随机森林、条件推断树和条件推断森林算法&#xff0c;重新计算中国居民收入不平等&#xff0c;并进行分类汇总&#xff0c;我们可以使用rpy2库。rpy2允许在Python中嵌入R代码并调用R函数。以下是一个详细的步骤和示例代码&#x…

关于JAVA方法值传递问题

1.1 前言 之前在学习C语言的时候&#xff0c;将实参传递给方法&#xff08;或函数&#xff09;的方式分为两种&#xff1a;值传递和引用传递&#xff0c;但在JAVA中只有值传递&#xff08;颠覆认知&#xff0c;基础没学踏实&#xff09; 参考文章&#xff1a;https://blog.csd…

Excel基础知识

一&#xff1a;数组 一行或者一列数据称为一维数组&#xff0c;多行多列称为二维数组&#xff0c;数组支持算术运算&#xff08;如加减乘除等&#xff09;。 行&#xff1a;{1,2,3,4} 数组中的每个值用逗号分隔列&#xff1a;{1;2;3;4} 数组中的每个值用分号分隔行列&#xf…

基于DIODES AP43781+PI3USB31531+PI3DPX1207C的USB-C PD Video 之全功能显示器连接端口方案

随着USB-C连接器和PD功能的出现&#xff0c;新一代USB-C PD PC显示器可以用作个人和专业PC工作环境的电源和数据集线器。 虽然USB-C PD显示器是唯一插入墙壁插座的交流电源输入设备&#xff0c;但它可以作为数据UFP&#xff08;上游接口&#xff09;连接到连接到TCD&#xff0…

gazebo_world 基本围墙。

如何使用&#xff1f; 参考gazebo harmonic的官方教程。 本人使用harmonic的template&#xff0c;在里面进行修改就可以分流畅地使用下去。 以下是world 文件. <?xml version"1.0" ?> <!--Try sending commands:gz topic -t "/model/diff_drive/…

解决无法在 Ubuntu 24.04 上运行 AppImage 应用

在 Ubuntu 24.04 中运行 AppImage 应用的完整指南 在 Ubuntu 24.04 中&#xff0c;许多用户可能会遇到 AppImage 应用无法启动的问题。即使你已经设置了正确的文件权限&#xff0c;AppImage 仍然拒绝运行。这通常是由于缺少必要的库文件所致。 问题根源&#xff1a;缺少 FUSE…

Pytorch使用手册-DCGAN 指南(专题十四)

1. Introduction 本教程将通过一个示例介绍 DCGANs(深度卷积生成对抗网络)。我们将训练一个生成对抗网络(GAN),在给它展示大量真实名人照片后,它能够生成新的“名人”图片。这里的大部分代码来源于 PyTorch 官方示例中的 DCGAN 实现,而本文档将对该实现进行详细解释,并…

springboot配置oracle+达梦数据库多数据源配置并动态切换

项目场景&#xff1a; 在工作中很多情况需要跨数据库进行数据操作,自己总结的经验希望对各位有所帮助 问题描述 总结了几个问题 1.识别不到mapper 2.识别不到xml 3.找不到数据源 原因分析&#xff1a; 1.配置文件编写导致识别mapper 2.配置类编写建的格式有问题 3.命名…

html+css+js网页设计 美食 家美食1个页面

htmlcssjs网页设计 美食 家美食1个页面 网页作品代码简单&#xff0c;可使用任意HTML辑软件&#xff08;如&#xff1a;Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修改编辑等操作&#xff09;。 获取源码 1&#xf…

【机器学习】【朴素贝叶斯分类器】从理论到实践:朴素贝叶斯分类器在垃圾短信过滤中的应用

&#x1f31f; 关于我 &#x1f31f; 大家好呀&#xff01;&#x1f44b; 我是一名大三在读学生&#xff0c;目前对人工智能领域充满了浓厚的兴趣&#xff0c;尤其是机器学习、深度学习和自然语言处理这些酷炫的技术&#xff01;&#x1f916;&#x1f4bb; 平时我喜欢动手做实…

Vue使用Tinymce 编辑器

目录 一、下载并重新组织tinymce结构二、使用三、遇到的坑 一、下载并重新组织tinymce结构 下载 npm install tinymce^7 or yarn add tinymce^7重构目录 在node_moudles里找到tinymce文件夹&#xff0c;把里面文件拷贝一份放到public下&#xff0c;如下&#xff1a; -- pub…