用C语言循环输入20个学生的成绩,求其中的最高分,平均值
时间: 2024-03-10 15:47:11 浏览: 24
好的,我可以帮你解决这个问题。以下是一个简单的C语言程序,可以循环输入20个学生的成绩,并计算其中的最高分和平均值。
```c
#include <stdio.h>
int main() {
int i, n = 20;
float score[n], max_score = 0, sum_score = 0, avg_score;
// 循环输入成绩
for (i = 0; i < n; i++) {
printf("请输入第%d个学生的成绩:", i + 1);
scanf("%f", &score[i]);
// 计算最高分
if (score[i] > max_score) {
max_score = score[i];
}
// 计算总分
sum_score += score[i];
}
// 计算平均分
avg_score = sum_score / n;
// 输出结果
printf("最高分为:%.2f\n", max_score);
printf("平均分为:%.2f\n", avg_score);
return 0;
}
```
你可以将此代码复制到你的C语言编译器中运行,它将提示你输入20个学生的成绩,并计算其中的最高分和平均值。注意,本程序只是一个简单的示例,你可以根据实际需要进行修改和优化。
相关问题
C语言代码实现五位学生三门课程成绩的平均值和最高分最低分
可以的,这是一道关于编程的问题。以下是一个示例程序,实现了这个功能:
```
#include <stdio.h>
int main() {
int scores[5][3]; // 保存五个学生的三门成绩
int i, j;
float avg[3] = {0}; // 分别保存三门成绩的平均值
int max[3] = {0}; // 分别保存三门成绩的最高分
int min[3] = {100}; // 分别保存三门成绩的最低分,初值为100
// 输入五个学生的成绩
for (i = 0; i < 5; i++) {
printf("请输入第%d个学生的成绩(格式为 数学 英语 语文):", i+1);
scanf("%d%d%d", &scores[i][0], &scores[i][1], &scores[i][2]);
}
// 计算每门成绩的平均值、最高分和最低分
for (j = 0; j < 3; j++) {
for (i = 0; i < 5; i++) {
avg[j] += scores[i][j];
if (scores[i][j] > max[j]) {
max[j] = scores[i][j];
}
if (scores[i][j] < min[j]) {
min[j] = scores[i][j];
}
}
avg[j] /= 5;
}
// 输出结果
printf("数学:平均分=%.2f,最高分=%d,最低分=%d\n", avg[0], max[0], min[0]);
printf("英语:平均分=%.2f,最高分=%d,最低分=%d\n", avg[1], max[1], min[1]);
printf("语文:平均分=%.2f,最高分=%d,最低分=%d\n", avg[2], max[2], min[2]);
return 0;
}
```
程序中定义了一个二维数组 `scores`,保存了五个学生的三门成绩,接着用两层循环分别求出每门成绩的平均值、最高分和最低分,最后输出结果。注意输出的格式要符合题目要求。
用c语言实现,输入15个评分,去掉最高分和最低分,求平均分
好的,这是一个编程问题,我可以回答你。你需要先将输入的15个评分存储到一个数组中,然后使用循环找出最高分和最低分的索引,将它们从数组中删除。最后,使用循环计算剩下的评分的平均值即可。以下是C语言的示例代码:
```c
#include <stdio.h>
int main() {
int scores[15];
int i, max_index = 0, min_index = 0;
float sum = 0;
// 输入15个评分
printf("请输入15个评分:\n");
for (i = 0; i < 15; i++) {
scanf("%d", &scores[i]);
}
// 找出最高分和最低分的索引
for (i = 1; i < 15; i++) {
if (scores[i] > scores[max_index]) {
max_index = i;
}
if (scores[i] < scores[min_index]) {
min_index = i;
}
}
// 计算总分
for (i = 0; i < 15; i++) {
if (i != max_index && i != min_index) {
sum += scores[i];
}
}
// 计算平均分并输出
float avg = sum / 13;
printf("去掉最高分和最低分的平均分为:%.2f\n", avg);
return 0;
}
```