求平均年龄

GitHub跳转原题关系图返回列表

用生成器累计 n 名学生年龄后除以人数并保留两位小数。

OJ: noi_openjudge

题目 ID: ch0105-01

难度:入门

标签:循环数学python

日期: 2026-07-30 23:01

题意

读入 nn 名学生的年龄,输出平均年龄,保留两位小数。

思路

平均值等于总和除以个数。生成器表达式依次读入 n 个年龄,sum 负责累计,不必手写临时累加变量;最后用 .2f 输出。

代码

Python代码

python
count = int(input())
total_age = sum(int(input()) for _ in range(count))
print(f"{total_age / count:.2f}")

C++代码

cpp
#include <bits/stdc++.h>
using namespace std;

int main(){
    int n;
    std::cin >> n;
    int sum = 0;
    for(int i=1;i<=n;++i){
        int t;
        std::cin >> t;
        sum += t;
    }
    double ans = sum * 1.0 / n;
    std::cout <<fixed <<  std::setprecision(2) << ans << std::endl;
    return 0;
}

复杂度

时间复杂度为 O(n)O(n),额外空间复杂度为 O(1)O(1)

总结

连续读入并求和是 sum(表达式 for ...) 的典型场景。