c语言已知一个班有n个学生,要求从键盘输入这n个学生的成绩,求出他们的平均分,并将他们的成绩按从大到小的顺序输出。
时间: 2024-05-15 22:13:45 浏览: 19
以下是C语言代码实现:
```c
#include <stdio.h>
int main() {
int n, i, j, temp;
float sum = 0, avg;
printf("请输入学生人数:");
scanf("%d", &n);
int score[n];
printf("请输入每位学生的成绩:\n");
for (i = 0; i < n; i++) {
scanf("%d", &score[i]);
sum += score[i];
}
avg = sum / n;
printf("平均分为:%.2f\n", avg);
for (i = 0; i < n - 1; i++) {
for (j = i + 1; j < n; j++) {
if (score[i] < score[j]) {
temp = score[i];
score[i] = score[j];
score[j] = temp;
}
}
}
printf("按成绩从大到小排序为:\n");
for (i = 0; i < n; i++) {
printf("%d ", score[i]);
}
return 0;
}
```
程序的思路如下:
1. 从键盘输入学生人数n;
2. 定义一个长度为n的数组score,从键盘输入每个学生的成绩,并求和;
3. 计算平均分avg;
4. 冒泡排序将成绩从大到小排序;
5. 输出平均分和从大到小排序后的成绩。