求整数的和与均值(信息学奥赛一本通-T1061)

该博客介绍了如何使用C++编程语言处理信息学奥赛中的问题,即读取并计算不超过10000个绝对值不大于10000的整数的和与平均值。样例输入包括4个整数,程序需输出它们的总和与平均值(保留5位小数),并在两者之间以空格分隔。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【题目描述】
读入n(1≤n≤10000)个整数,求它们的和与均值。

【输入】
输入第一行是一个整数n,表示有n个整数。第2~n+1行每行包含1个整数。每个整数的绝对值均不超过10000。

【输出】
输出一行,先输出和,再输出平均值(保留到小数点后5位),两个数间用单个空格分隔。

【输入样例】
4
344
222
343
222

【输出样例】
1131 282.75000

【源程序】

#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
   
   
    int n
### 信息学奥赛一本 1061 题解题目描述 信息学奥赛一本中的第1061题名为“【例2.3】均值”,该题主要考察用户对输入输出以及基本算术运算的掌握情况。以下是关于此题的详细描述解法[^1]。 #### 题目描述 给定一个整数 $ n $ 接下来的 $ n $ 个整数,计算这些整数的平均值,并将结果保留到小数点后两位。 #### 输入格式 第一行包含一个整数 $ n $ ($ 1 \leq n \leq 100 $)。 接下来的 $ n $ 包含一个整数 $ x_i $ ($ -10^4 \leq x_i \leq 10^4 $)。 #### 输出格式 输出一包含一个实数,表示这 $ n $ 个数的平均值,结果保留两位小数。 #### 示例 **输入** ``` 4 5 8 2 10 ``` **输出** ``` 6.25 ``` #### 解题思路 本题的核心在于如何正确地读取输入数据并进均值的计算。由于需要保留两位小数,因此在输出时需要注意格式化输出的方式。以下是解决该问题的基本步骤(以C++为例): - 使用循环读取 $ n $ 个整数,并将它们累加到一个变量中。 - 计算累加值 $ n $ 的商,得到平均值- 使用 `printf` 或 `std::fixed` `std::setprecision` 来控制输出的小数位数。 #### 题解代码 以下是基于C++语言的实现代码: ```cpp #include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; double sum = 0; // 使用double类型以确保精度 for (int i = 1; i <= n; i++) { int x; cin >> x; sum += x; // 累加每个输入整数 } printf("%.2lf\n", sum / n); // 格式化输出,保留两位小数 return 0; } ``` #### 注意事项 - 在累加过程中使用 `double` 类型可以避免因整数除法导致的精度丢失。 - 输出时必须严格遵循题目要的格式,否则可能会导致答案错误。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值