有10个学生的某门课成绩,求要求编写以下函数:平均成绩、最高分、分数从小到大排序。C语言
时间: 2023-06-17 18:06:23 浏览: 113
以下是三个函数的示例代码:
```C
#include <stdio.h>
#include <stdlib.h>
// 计算平均成绩
float average(int* scores, int len) {
int sum = 0;
for (int i = 0; i < len; i++) {
sum += scores[i];
}
return (float)sum / len;
}
// 找到最高分
int max(int* scores, int len) {
int max_score = scores[0];
for (int i = 1; i < len; i++) {
if (scores[i] > max_score) {
max_score = scores[i];
}
}
return max_score;
}
// 将分数从小到大排序
void sort(int* scores, int len) {
for (int i = 0; i < len - 1; i++) {
for (int j = i + 1; j < len; j++) {
if (scores[i] > scores[j]) {
int temp = scores[i];
scores[i] = scores[j];
scores[j] = temp;
}
}
}
}
int main() {
int scores[] = {78, 89, 95, 65, 87, 92, 80, 75, 83, 90};
int len = sizeof(scores) / sizeof(scores[0]);
printf("平均成绩:%f\n", average(scores, len));
printf("最高分:%d\n", max(scores, len));
sort(scores, len);
printf("分数从小到大排序:");
for (int i = 0; i < len; i++) {
printf("%d ", scores[i]);
}
printf("\n");
return 0;
}
```
这里我们通过传入数组和数组长度的方式来对成绩进行操作,分别实现了计算平均成绩、找到最高分和将分数从小到大排序三个函数,并在 `main` 函数中进行调用和输出。
阅读全文