输入N个学生M门课的分数,统计每个学生的平均分、总分。输出信息有学号(暂时用in
时间: 2023-05-25 16:05:07 浏览: 80
put输入)、平均分、总分,按照平均分从大到小的顺序输出。如果平均分相同,则按照学号从小到大的顺序输出。
示例输入:
5 3
1001 90 80 70
1002 85 90 95
1003 77 88 99
1004 60 70 80
1005 100 100 100
示例输出:
1005 100.0 300.0
1002 90.0 270.0
1001 80.0 240.0
1003 88.0 264.0
1004 70.0 210.0
相关问题
输入N个学生M门课的分数统计每个学生的平均分、总分。输出信息有学号(暂时用int类型)、各科平均分和总分
假设输入格式为:
第一行为两个正整数N和M,表示有N个学生和M门课程
接下来N行,每行为M个非负整数,表示该学生对应的M门课程的分数
输出格式为:
对于每个学生,输出一行,包括以下信息:学号、各科平均分、总分,中间以空格分隔。学生信息按照学号递增的顺序输出。
示例输入:
3 4
80 70 90 85
75 85 95 70
90 80 75 65
示例输出:
1 81.25 325
2 80 330
3 77.5 310
思路:
1.定义一个结构体Student,包含学生的学号(id)、各科分数(grades)和总分(total)。
2.定义一个函数input,用于输入每个学生的成绩,并计算出各个学科的平均分和总分,存储在定义的结构体Student中。
3.定义一个函数output,用于输出每个学生的学号、各科平均分和总分,按照学号递增的顺序输出。
4.在main函数中调用input函数和output函数。
代码实现如下:
输入N个学生M门课的分数统计每个学生的平均分、总分。输出信息有学号(暂时用int类型)、各科平均分和总分。(N和M用符号常量或常变量定义)
#include <iostream>
using namespace std;
const int N = 100; // 最多100个学生
const int M = 5; // 最多5门课
int main() {
int scores[N][M]; // 分数矩阵,第i个学生第j门课的分数为scores[i][j]
int n, m;
cin >> n >> m; // 输入学生数和课程数
// 输入每个学生每门课的分数
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
cin >> scores[i][j];
}
}
// 输出每个学生的平均分和总分
for (int i = 0; i < n; i++) {
int sum = 0;
for (int j = 0; j < m; j++) {
sum += scores[i][j]; // 累加总分
}
double avg = (double)sum / m; // 计算平均分
cout << "学号:" << i << " ";
cout << "各科平均分:" << avg << " ";
cout << "总分:" << sum << endl;
}
return 0;
}
阅读全文