【GESP】C++二级练习 luogu-B2054, 求平均年龄
二级知识点强制数据类型转换,以及一级知识点循环和基础运算问题。
luogu-B2054
题目要求
描述
班上有学生若干名,给出每名学生的年龄(整数),求班上所有学生的平均年龄,保留到小数点后两位。
输入
第一行包含一个整数 $n$($1\le n\le 100$),表示学生的总数。接下来的 $n$ 行,每行包含$1$个整数,表示每个学生的年龄,范围为 $15$ 到 $25$。
输出
输出一行,该行包含一个浮点数,为要求的平均年龄,保留到小数点后两位。
输入样例-1
2
18
17
输出样例-1
17.50
题目分析
- 读取$n$的值,表示后续输入的数量
- 循环$n$次,读取每个学生的年龄$a$
- 累加每个学生的年龄
- 计算平均年龄并保留到小数点后两位
- 输出计算的平均年龄
注意处理整数计算到浮点数结果展示的数据类型转换问题。
示例代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <cstdio>
using namespace std;
int main() {
// 读取学生总数
int n;
scanf("%d", &n);
// 初始化平均年龄
int ans = 0;
// 用于存储每个学生的年龄
int a;
// 循环读取每个学生的年龄
for (int i = 0; i < n; i++) {
scanf("%d", &a);
// 累加每个学生的年龄
ans += a;
}
// 计算平均年龄并保留到小数点后两位
printf("%.2f", (double) ans / n);
return 0;
}
所有代码已上传至Github:https://github.com/lihongzheshuai/yummy-code
题目已加入洛谷Java、C++初学团队,作业清单,可在线评测,团队名额有限,欢迎加入。
本文由作者按照 CC BY 4.0 进行授权