求5个同学成绩的平均分函数和从高分到低分输出成绩的函数C语言
时间: 2024-09-25 19:07:09 浏览: 33
在C语言中,你可以创建两个函数来分别计算5个同学的成绩平均分和按照分数高低排序并输出。这里是一个简单的示例:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义结构体表示学生信息,包含姓名和成绩
typedef struct {
char name[50];
int score;
} Student;
// 函数一:计算平均分
float calculate_average(Student* students, int count) {
float sum = 0;
for (int i = 0; i < count; i++) {
sum += students[i].score;
}
return sum / count;
}
// 函数二:按成绩排序并输出
void sort_and_output(Student* students, int count) {
// 使用快速选择算法或其他排序算法对数组进行降序排序
// 这里简化了代码,假设students数组已排好序
for (int i = 0; i < count - 1; i++) {
printf("%s: %d\n", students[i].name, students[i].score);
}
printf("Average Score: %.2f\n", calculate_average(students, count));
}
int main() {
Student students[5] = {{"Tom", 90}, {"Jerry", 85}, {"Spike", 95}, {"Tyke", 88}, {"Butch", 87}};
int count = sizeof(students) / sizeof(students[0]);
// 计算平均分并打印
printf("Average of all scores:\n");
sort_and_output(students, count);
return 0;
}
```
这个程序首先定义了一个`Student`结构体用于存储学生的姓名和成绩,然后有两个函数`calculate_average`和`sort_and_output`。在`main`函数中,我们创建了一个学生数组并调用了这两个函数。
注意,这个例子没有处理排序的部分,因为实际的排序需要使用如冒泡排序、选择排序或更高效的排序算法,比如快速排序等。在这个简化版本中,我假设数据已经按照分数递减排列。
阅读全文