用c语言编写程序:输入若干个同学的成绩,从小到大排序,输出平均分及高于平均分的第一位同学的成绩。
时间: 2024-05-05 19:19:56 浏览: 7
好的,下面是用c语言编写的程序,可以实现输入若干个同学的成绩,从小到大排序,并输出平均分及高于平均分的第一位同学的成绩。
```c
#include <stdio.h>
#define MAX_NUM 100 // 学生数最大值
int main() {
int scores[MAX_NUM]; // 存储学生成绩的数组
int n; // 学生数
int sum = 0; // 成绩总和
int avg; // 平均分
int i, j; // 循环变量
// 输入学生数
printf("请输入学生数(不超过%d人):", MAX_NUM);
scanf("%d", &n);
// 输入学生成绩并计算总和
printf("请输入%d个学生的成绩:", n);
for (i = 0; i < n; i++) {
scanf("%d", &scores[i]);
sum += scores[i];
}
// 计算平均分
avg = sum / n;
printf("平均分为:%d\n", avg);
// 冒泡排序,从小到大排序
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - i - 1; j++) {
if (scores[j] > scores[j + 1]) {
int tmp = scores[j];
scores[j] = scores[j + 1];
scores[j + 1] = tmp;
}
}
}
// 输出排序后的成绩
printf("排序后的成绩为:");
for (i = 0; i < n; i++) {
printf("%d ", scores[i]);
if (scores[i] >= avg) {
printf("\n高于平均分的第一位同学的成绩为:%d\n", scores[i]);
break;
}
}
return 0;
}
```
您可以使用此程序进行测试。