输入十个学生的语数英三科成绩,计算每个学生的总分,以及所有学生的分数之和 ,求出总分的平均分,输出平均分及高于平均分的学生成绩。(要有相应的标注)C语言
时间: 2024-10-18 10:16:18 浏览: 49
在C语言中,你可以使用数组来存储学生的成绩,并通过循环结构来计算总分、平均分和筛选出高于平均分的学生。下面是一个简单的示例程序:
```c
#include <stdio.h>
#define NUM_OF_STUDENTS 10
int main() {
int scores[NUM_OF_STUDENTS][3]; // 存储学生三科成绩的二维数组
float total_score = 0; // 总分
float avg_score = 0; // 平均分
int above_avg_count = 0; // 高于平均分的人数
float high_scores[NUM_OF_STUDENTS]; // 高于平均分的成绩数组
// 输入每个学生的成绩
for (int i = 0; i < NUM_OF_STUDENTS; i++) {
for (int j = 0; j < 3; j++) {
scanf("%d", &scores[i][j]);
total_score += scores[i][j];
}
}
// 计算平均分
avg_score = total_score / (NUM_OF_STUDENTS * 3);
// 筛选出高于平均分的成绩并计数
for (int i = 0; i < NUM_OF_STUDENTS; i++) {
if (scores[i][0] + scores[i][1] + scores[i][2] > avg_score) {
high_scores[above_avg_count++] = scores[i][0] + scores[i][1] + scores[i][2];
}
}
// 输出平均分和高于平均分的学生成绩
printf("平均分: %.2f\n", avg_score);
if (above_avg_count > 0) {
printf("高于平均分的学生有 %d 人,他们的总分为:\n", above_avg_count);
for (int k = 0; k < above_avg_count; k++) {
printf("学生%d: %d 分\n", k+1, high_scores[k]);
}
} else {
printf("没有学生得分高于平均分。\n");
}
return 0;
}
```
在这个程序中,我们首先输入了10个学生的语文、数学和英语成绩,然后计算了总分和平均分。接着遍历数组,将高于平均分的学生的成绩保存到另一个数组`high_scores`中,并统计高于平均分的学生人数。最后输出平均分和高分学生信息。
阅读全文