C++学生成绩统计:百分制转五分制及分布统计

本文介绍如何使用C++编写程序,实现学生成绩的统计功能,包括:

  1. 将百分制成绩转换为五分制(A、B、C、D、E);2. 统计每个等级的人数分布。

代码示例

以下是完整的C++代码:cpp#include #include

using namespace std;

char calculateGrade(int score) { if (score >= 90) { return 'A'; } else if (score >= 80) { return 'B'; } else if (score >= 70) { return 'C'; } else if (score >= 60) { return 'D'; } else { return 'E'; }}

int main() { int n; cout << '请输入学生人数:'; cin >> n;

vector<int> scores(n);

cout << '请输入学生成绩:' << endl;    for (int i = 0; i < n; i++) {        cin >> scores[i];    }

vector<int> gradeCounts(5, 0);  // 分别记录A、B、C、D、E等级的人数

for (int i = 0; i < n; i++) {        char grade = calculateGrade(scores[i]);

    switch (grade) {            case 'A':                gradeCounts[0]++;                break;            case 'B':                gradeCounts[1]++;                break;            case 'C':                gradeCounts[2]++;                break;            case 'D':                gradeCounts[3]++;                break;            case 'E':                gradeCounts[4]++;                break;        }    }

cout << '成绩分布统计结果:' << endl;    cout << 'A: ' << gradeCounts[0] << ' 人' << endl;    cout << 'B: ' << gradeCounts[1] << ' 人' << endl;    cout << 'C: ' << gradeCounts[2] << ' 人' << endl;    cout << 'D: ' << gradeCounts[3] << ' 人' << endl;    cout << 'E: ' << gradeCounts[4] << ' 人' << endl;

return 0;}

代码讲解

  1. calculateGrade 函数: - 接收一个整数参数 score (表示百分制成绩)。 - 使用 if-else if 语句判断成绩所属的等级区间,并返回对应的五分制等级('A' - 'E')。

  2. main 函数: - 获取学生人数 n。 - 创建一个 vector 容器 scores 用于存储学生的百分制成绩。 - 使用循环读取 n 个学生的成绩,并存储到 scores 容器中。 - 创建一个 vector 容器 gradeCounts,初始化为5个元素,分别表示A、B、C、D、E等级的人数,初始值为0。 - 遍历 scores 容器,对每个成绩调用 calculateGrade 函数获取其对应的等级。 - 使用 switch 语句根据等级更新 gradeCounts 容器中对应等级的人数。 - 最后输出 gradeCounts 容器中每个等级的人数统计结果。

希望这个例子能够帮助你理解如何使用C++进行学生成绩统计,并将百分制成绩转换为五分制等级,以及如何统计每个等级的人数分布。

C++学生成绩统计:百分制转五分制及分布统计

原文地址: https://www.cveoy.top/t/topic/bv0s 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录