Problem A: 求平均年龄

时间:2023-03-08 22:12:57

Description

定义一个Persons类,用于保存若干个人的姓名(string类型)和年龄(int类型),定义其方法

void addAPerson(string,int)

用于添加1个人的信息;

double getAveAge()

用于获取所有人的平均年龄。

Input

第1行N>0表示有N个测试用例。

每个测试用例包括1个人的姓名及其年龄。

Output

所有人的平均年龄。见样例。

Sample Input

5 Zhang 10 Wang 20 Li 30 Zhao 40 Zhou 50

Sample Output

30.00
#include <iostream>
#include <algorithm>
#include <string>
#include <vector>
#include <iomanip>
using namespace std;
typedef struct
{
    string name;
    double age;
}per;
class Persons
{
public:
    vector<per> s;
    void addAPerson(string a,int b)
    {
        per t;
        t.name=a;
        t.age=b;
        s.push_back(t);
    }
    double getAveAge()
    {
        double sum=0;
        for(int i=0;i<s.size();i++)
            sum+=s[i].age;
        return sum*1.0/s.size();
    }
};
int main()
{
    int cases, age;
    string name;
    Persons persons;
    cin>>cases;
    for (int i = 0; i < cases; i++)
    {
        cin>>name>>age;
        persons.addAPerson(name, age);
    }
    cout<<setprecision(2)<<fixed<<persons.getAveAge()<<endl;
}