文章

【GESP】C++二级练习 luogu-B2056, 求整数的和与均值

涉及二级知识点强制类型转换,主要还是一级知识点for循环练习。

luogu-B2056

题目要求

描述

读入 $n$ ($1\le n\le 10000$) 个整数,求它们的和与均值。

输入

输入的第一行是一个整数 $n$,表示有 $n$ 个整数。

从第二行到第 $n+1$ 行,每行包含一个整数。每个整数的绝对值均不超过 $10000$。

输出

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

输入样例-1

4
344
222
343
222

输出样例-1

1131 282.75000


题目分析

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

示例代码

1
2
3
4
5
6
7
8
9
10
11
12
13
#include <cstdio>
int main() {
    int n; // 定义整数n
    scanf("%d", &n); // 读取n的值
    int a; // 定义整数a
    int ans = 0; // 定义累加结果ans
    for (int i = 0; i < n; i++) { // 循环n次
        scanf("%d", &a); // 读取每个样本数据a
        ans += a; // 累加每个样本数据
    }
    printf("%d %.5f", ans, (double)ans / n); // 输出累加结果和均值
    return 0; // 返回0
}

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

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

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