输入N个学生M门课的分数统计每个学生的平均分、总分。输出信息有学号(暂时用int类型)、各科平均分和总分
时间: 2023-05-25 15:05:12 浏览: 92
假设输入格式为:
第一行为两个正整数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;
}
输入 N 个学生 M门课的 分数,统计每个学生的平均分、总分。输出信息有 学号(暂时用 int 类型)、各科平均分和总分。( N 和 M 用符号常量或常变量定义)
好的,这是一个统计学生成绩的问题,我可以为您提供以下代码:
```c++
#include <iostream>
using namespace std;
const int N = 100; // 最大学生数
const int M = 5; // 最大科目数
int main() {
int n, m;
int score[N][M]; // 存储学生成绩
int sum[N] = {0}; // 存储每个学生的总分
double avg[N] = {0}; // 存储每个学生的平均分
// 输入学生数和科目数
cout << "请输入学生数和科目数:";
cin >> n >> m;
// 输入学生成绩
for (int i = 0; i < n; i++) {
cout << "请输入第" << i+1 << "个学生的成绩:";
for (int j = 0; j < m; j++) {
cin >> score[i][j];
sum[i] += score[i][j];
}
avg[i] = (double)sum[i] / m;
}
// 输出学生成绩
cout << "学号\t总分\t平均分" << endl;
for (int i = 0; i < n; i++) {
cout << i+1 << "\t" << sum[i] << "\t" << avg[i] << endl;
}
return 0;
}
```
这个程序可以输入学生数和科目数,然后输入每个学生的成绩,最后输出每个学生的总分和平均分。
阅读全文