橘子称重问题C++

news/2024/10/18 1:42:08/

问题 A: 橘子称重

时间限制: 1.000 Sec  内存限制: 16 MB
提交 状态

题目描述

学校买回来一大箱橘子,有m个(m>=100 && m <= 1000),橘子大小比较均匀,学校想称一下总共有多重,发现大称坏掉了还没有修好,只有一个小的弹簧秤。学校又不想分开称,那样太慢了。

小明想了一个办法,由于橘子大小比较均匀,可以从中拿n个出来(n>=5 && n<=20),这n个橘子的重量弹簧秤是可以称出来的,有了这n个橘子的重量,就可以计算出平均一个橘子有多重,这样就能知道整箱大约有多重了。

请编写程序,从键盘读入橘子总数m,小明称的橘子的个数n以及这n个橘子的重量,计算出这箱橘子总共约有多重(结果保留1位小数)。

输入

2行,第一行2个整数m和n,分别代表一箱橘子的总个数以及小明称的橘子的个数。

第二行为n个橘子的重量(整数)。

输出

一箱橘子的重量(保留1位小数)

样例输入 Copy

100 7
84 83 82 81 80 79 79

样例输出 Copy

8114.3

 

解题思路:

假设整箱橘子的总重量为totalWeight,小明称出来的n个橘子的总重量为nTotalWeight,平均每个橘子的重量为avgWeight,则有以下公式:

totalWeight = m * avgWeight avgWeight = nTotalWeight / n

其中,m为输入的总数,n为输入的称量的个数,nTotalWeight为称量出来的n个橘子的总重量。

所以,我们只需要用第二行输入的n个数求出总重量和平均重量,再带入公式中计算即可。

注意事项:

  1. 输入的橘子总数m和小明称的橘子数n需要满足题目给定的范围;
  2. 橘子的重量为整数,但计算过程中需要转换为浮点数;
  3. 输出结果需要保留1位小数,可以使用C++中的setprecision()函数来控制小数位数

 

#include <iostream>
#include <iomanip>int main() {int m, n;  // 橘子总数m和小明称量的橘子数nstd::cin >> m >> n;int nTotalWeight = 0;  // 称量出来的橘子总重量for (int i = 0; i < n; ++i) {int weight;std::cin >> weight;nTotalWeight += weight;}double avgWeight = static_cast<double>(nTotalWeight) / n;  // 平均每个橘子的重量int totalWeight = m * avgWeight;  // 整箱橘子的总重量std::cout << std::fixed << std::setprecision(1);  // 控制输出小数位数为1std::cout << totalWeight << " " << avgWeight << std::endl;return 0;
}

在这段代码中,我们首先读取输入的橘子总数m和小明称量的橘子数n。然后通过循环读取n个橘子的重量,并累加得到称量出来的橘子总重量nTotalWeight。接着使用强制类型转换将nTotalWeight转换为浮点数,再除以n得到平均每个橘子的重量avgWeight。最后通过将m乘以avgWeight得到整箱橘子的总重量totalWeight。最后使用std::cout输出结果,控制小数位数为1,使用std::setprecision函数。


http://www.ppmy.cn/news/1103808.html

相关文章

《Web安全基础》04. 文件操作安全

web 1&#xff1a;文件操作安全2&#xff1a;文件上传漏洞2.1&#xff1a;简介2.2&#xff1a;防护与绕过2.3&#xff1a;WAF 绕过2.3.1&#xff1a;数据溢出2.3.2&#xff1a;符号变异2.3.3&#xff1a;数据截断2.3.4&#xff1a;重复数据 3&#xff1a;文件包含漏洞4&#xf…

FxFactory Pro v8.0.10(fcpx视频特效)

FxFactory Pro是一款fcpx视频特效和插件管理工具&#xff0c;可以在Adobe Premiere Pro、Final Cut Pro、Motion等软件中使用。下面是FxFactory Pro的使用方法&#xff1a; 下载并安装FxFactory Pro&#xff1a;从官方网站下载FxFactory Pro安装程序&#xff0c;并按照提示进行…

【Day-34慢就是快】代码随想录-二叉树-搜索树中的众数

给定一个有相同值的二叉搜索树&#xff08;BST&#xff09;&#xff0c;找出 BST 中的所有众数&#xff08;出现频率最高的元素&#xff09;。 思路 递归法 既然是搜索树&#xff0c;中序遍历就是有序数组。 如何不利用数组&#xff0c;直接在树上进行操作呢&#xff1f; 弄…

第n+2次安装前端环境-nvm管理包工具-配置react环境

搭建前端环境-nvm搭建-配置react环境-前提准备 我之前电脑实在是没办法用nvm搭建前端环境&#xff01;恼火&#xff0c;只能推倒重来了。 首先就先去将自己的电脑里面的原来的nvm软件删除了。除此之外还要看看有没有之前单独安装过nodejs的&#xff0c;如果之前单独安装过那也…

java-spring返回类

状态码类&#xff1a; public enum ServiceCode {OK(20000),ERR_BAD_REQUEST(40000),//错误请求ERR_NOT_FOUND(40400),//没有发现ERR_UNAUTHORIZED(40100),//未经授权ERR_UNAUTHORIZED_DISABLED(40110),//未经授权禁止ERR_FORBIDDEN(40300),//被禁止的ERR_CONFLICT(40900),//冲…

python 入门到精通(二)

文章目录 1.布尔数据类型1.1 布尔类型获取1.2 if 函数1.3 if else1.4 多条件判断1.5 判断语句的嵌套2.实战2.1 if函数实战2.2 if else 实战2.3 猜猜心里数字2.4 随机猜测数字1.布尔数据类型 布尔类型. 布尔(bool)表达现实生活中的逻辑,即真和假 True表示真 False表示假。 T…

《TCP/IP网络编程》阅读笔记--Timewait状态和Nagle算法

1--Timewait状态 对于服务器端/客户端&#xff0c;当一端结束连接时&#xff0c;会向另一端发送 FIN 消息&#xff1b;两端的在经过四次挥手过程后&#xff0c;其 Socket 不会马上消除&#xff0c;而是会处于一个 Time-wait 状态的阶段&#xff0c;此时 Socket 拥有的端口号并没…

docker容器详解

Docker容器运行的本质是运行一个进程&#xff0c;该进程在其自己的隔离环境中运行&#xff0c;该环境由Linux内核的特性&#xff08;如cgroups和namespaces&#xff09;提供。Docker 容器存在的意义就是为了运行容器中的应用&#xff0c;对外提供服务&#xff0c;所以启动容器的…