用C语言实现3个学生,四门成绩,最高分数,、每门最高分数、平均分
时间: 2024-05-05 08:16:37 浏览: 106
以下是使用C语言实现3个学生,四门成绩,最高分数、每门最高分数、平均分的示例代码:
```c
#include <stdio.h>
#define NUM_STUDENTS 3
#define NUM_SUBJECTS 4
int main() {
int scores[NUM_STUDENTS][NUM_SUBJECTS];
int max_score = 0;
int max_scores_per_subject[NUM_SUBJECTS] = {0};
float avg_scores[NUM_SUBJECTS] = {0};
// Input scores for each student
for (int i = 0; i < NUM_STUDENTS; i++) {
printf("Enter scores for student %d:\n", i + 1);
for (int j = 0; j < NUM_SUBJECTS; j++) {
scanf("%d", &scores[i][j]);
// Update max_score if necessary
if (scores[i][j] > max_score) {
max_score = scores[i][j];
}
// Update max_scores_per_subject if necessary
if (scores[i][j] > max_scores_per_subject[j]) {
max_scores_per_subject[j] = scores[i][j];
}
// Update avg_scores
avg_scores[j] += scores[i][j];
}
}
// Calculate avg_scores
for (int i = 0; i < NUM_SUBJECTS; i++) {
avg_scores[i] /= NUM_STUDENTS;
}
// Output results
printf("Max score: %d\n", max_score);
printf("Max scores per subject: ");
for (int i = 0; i < NUM_SUBJECTS; i++) {
printf("%d ", max_scores_per_subject[i]);
}
printf("\n");
printf("Avg scores per subject: ");
for (int i = 0; i < NUM_SUBJECTS; i++) {
printf("%.2f ", avg_scores[i]);
}
printf("\n");
return 0;
}
```
在上面的代码中,我们使用了一个二维数组来存储每个学生的成绩。我们还定义了三个变量来存储最高分数、每门最高分数和平均分数。我们使用循环来依次输入每个学生的成绩,并在输入时更新这三个变量。在输入完成后,我们计算每门课程的平均分数,并输出最高分数、每门最高分数和平均分数。
阅读全文