题目描述
针对上一题的情形,除了在结构体外新设计一个函数 get_grade
外,我们可以用另外一种方法,给类添加一个成员函数,如下所示。
struct Student {
int x;
int y;
int z;
int get_grade() {
// todo
}
};
此后,对于每一个 Student
类的对象 s
,我们可以调用 s.get_grade()
来获取每个学生的最终成绩。
如果你看懂了这个例子,那么现在我想让你设计两个成员函数。 一个成员函数 input
,负责每个结构体的输入。 一个成员函数 get_average
,返回该学生每次训练的平均成绩。
输入描述
第一行给出一个正整数 𝑛n,代表 𝑛n 个学生参加了体测。
下面 𝑛n 行每行给出 33 个正整数,每行代表一个学生的三次测试中的成绩 𝑥,𝑦,𝑧x,y,z。
输出描述
依次输出 𝑛n 行,每行代表一个学生的平均成绩,保留三位小数输出。
输入样例
2
1 2 3
2 4 3
输出样例
2.000
3.000
数据范围
0<𝑛≤10000<n≤1000,0<𝑥,𝑦,𝑧≤1𝑒90<x,y,z≤1e9
#include <iomanip>
#include <iostream>
using namespace std;
struct Student {
long long x;
long long y;
long long z;
void input() { cin >> x >> y >> z; }
double get_average() { return (x + y + z) / 3.0; }
} s[1010];
int main() {
int n;
cin >> n;
std::cout << std::fixed << std::setprecision(3);
for (int i = 0; i < n; i++) {
s[i].input();
}
for (int i = 0; i < n; i++) {
cout << s[i].get_average() << '\n';
}
return 0;
}