c语言编写程序,将输入的20名学生的成绩保存在数组中,编写函数max(),min(),ave()分别计算其最高分、最低分和平均分
时间: 2024-05-14 10:13:45 浏览: 174
好的,这是一道关于C语言编程的问题,我可以为您提供帮助。以下是一个示例程序,它演示了如何保存20名学生的成绩并计算最高分、最低分和平均分:
```
#include <stdio.h>
#define NUM_STUDENTS 20
int scores[NUM_STUDENTS];
void input_scores() {
printf("请输入%d名学生的成绩:\n", NUM_STUDENTS);
for (int i = 0; i < NUM_STUDENTS; i++) {
scanf("%d", &scores[i]);
}
}
int max_score() {
int max = scores[0];
for (int i = 1; i < NUM_STUDENTS; i++) {
if (scores[i] > max) {
max = scores[i];
}
}
return max;
}
int min_score() {
int min = scores[0];
for (int i = 1; i < NUM_STUDENTS; i++) {
if (scores[i] < min) {
min = scores[i];
}
}
return min;
}
float ave_score() {
int sum = 0;
for (int i = 0; i < NUM_STUDENTS; i++) {
sum += scores[i];
}
return (float)sum / NUM_STUDENTS;
}
int main() {
input_scores();
printf("最高分:%d\n", max_score());
printf("最低分:%d\n", min_score());
printf("平均分:%.2f\n", ave_score());
return 0;
}
```
在此示例程序中,我们定义了一个长度为20的数组`scores`,用于存储20名学生的成绩。`input_scores()`函数用于从用户处输入这些成绩。`max_score()`和`min_score()`函数分别计算最高分和最低分,使用一个循环遍历数组`scores`并根据需要更新最大值或最小值。`ave_score()`函数计算平均分,它将所有成绩相加并除以人数,注意必须将结果转换为浮点数以避免整数除法截断结果。最后,在程序的`main()`函数中,我们调用这些函数并输出它们的结果。
希望这个示例程序可以帮助您开始解决问题!
阅读全文
相关推荐















