文章

【GESP】C++一级练习 luogu-B2055, 均值

一级知识点for循环和输入输出格式知识点应用。

luogu-B2055

题目要求

描述

给出一组样本数据,计算其均值。

输入

输入有两行,第一行包含一个整数,表示样本容量 $n$。第二行包含 $n$个浮点数 $a_i$,代表各个样本数据。

输出

输出一行,包含一个浮点数,表示均值。

选手输出与标准输出的相对误差或绝对误差不超过 $10^{-3}$ 即视为正确。

输入样例-1

2
1.0 3.0

输出样例-1

2.0000


题目分析

  • 读取样本容量$n$的值
  • 循环$n$次,读取每个样本数据$a$
  • 累加每个样本数据
  • 计算样本数据的均值,并保留到小数点后4位
  • 输出计算的均值

示例代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <cstdio>

int main() {
    int n; // 定义整数变量n,用于存储样本容量
    scanf("%d", &n); // 从标准输入读取n的值
    double ans = 0; // 定义浮点数变量ans,用于累加样本数据,初始化为0
    double a; // 定义浮点数变量a,用于存储每个样本数据
    for (int i = 0; i < n; i++) { // 循环n次,读取每个样本数据
        scanf("%lf", &a); // 从标准输入读取a的值
        ans += a; // 累加每个样本数据到ans
    }
    printf("%.4f", ans / n); // 输出计算的平均值,保留到小数点后4位
    return 0; // 返回0,表示程序执行成功
}

所有代码已上传至Github:https://github.com/lihongzheshuai/yummy-code

题目已加入洛谷Java、C++初学团队作业清单,可在线评测,团队名额有限,欢迎加入。

本文由作者按照 CC BY 4.0 进行授权