使用c++输入10个学生5门课的成绩,分别用函数实现下列功能: ① 计算每个学生平均分;
时间: 2024-12-16 21:30:42 浏览: 3
写自定义函数stringLower()实现将一个字符串中所有大写字母变为小写字母。在主函数中输入一含有大写字母的字符串,调用该函数并输出改变后的字符串。
5星 · 资源好评率100%
在C++中,你可以使用结构体(struct)来表示一个学生,然后创建一个动态数组存储这10个学生的成绩。为了实现计算每个学生平均分的功能,你可以定义两个函数:一个用于输入数据,另一个用于计算平均分。以下是简化的代码示例:
```cpp
#include <iostream>
#include <vector>
// 定义一个结构体表示学生及其成绩
struct Student {
std::string name;
float scores[5]; // 五个课程的成绩
};
// 函数用于输入10个学生的成绩
void input_scores(Student students[], int num_students) {
for (int i = 0; i < num_students; i++) {
std::cout << "请输入第" << i + 1 << "个学生的成绩:" << std::endl;
for (int j = 0; j < 5; j++) {
std::cin >> students[i].scores[j];
}
std::cout << "学生 " << students[i].name << " 的成绩已录入。\n";
}
}
// 函数用于计算单个学生的平均分
float calculate_average(const Student& student) {
float sum = 0;
for (float score : student.scores) {
sum += score;
}
return sum / 5; // 除以5得到平均分
}
// 主函数
int main() {
const int num_students = 10;
Student students[num_students];
// 输入所有学生的成绩
input_scores(students, num_students);
// 计算并打印每个学生的平均分
for (int i = 0; i < num_students; i++) {
float average = calculate_average(students[i]);
std::cout << "学生 " << students[i].name << " 的平均分为: " << average << "\n";
}
return 0;
}
```
在这个程序中,`input_scores`函数获取10个学生的成绩,`calculate_average`函数用于计算单个学生的平均分,最后在主函数`main`中遍历学生数组并调用`calculate_average`。
阅读全文