C语言 一个打分评分系统。键盘加入10个整数存放在数组中,将整数按照从大到小的顺序输出,去掉最大值和最小值后,输出平均值。
时间: 2024-02-13 10:02:32 浏览: 25
好的,这是一个简单的C语言程序,实现了一个打分评分系统,可以输入10个整数,按照从大到小的顺序输出,去掉最大值和最小值后,输出平均值。
```c
#include <stdio.h>
#include <stdlib.h>
#define N 10
int main()
{
int score[N];
int i, j, max, min, sum;
//输入10个整数
printf("请输入10个整数:\n");
for(i = 0; i < N; i++)
{
scanf("%d", &score[i]);
}
//从大到小排序
for(i = 0; i < N - 1; i++)
{
max = i;
for(j = i + 1; j < N; j++)
{
if(score[j] > score[max])
{
max = j;
}
}
if(max != i)
{
int temp = score[i];
score[i] = score[max];
score[max] = temp;
}
}
//求去掉最大值和最小值后的平均值
sum = 0;
for(i = 1; i < N - 1; i++)
{
sum += score[i];
}
printf("去掉最大值和最小值后的平均值为:%d\n", sum / (N - 2));
//输出排序后的结果
printf("从大到小排序后的结果为:\n");
for(i = 0; i < N; i++)
{
printf("%d ", score[i]);
}
printf("\n");
return 0;
}
```
程序流程如下:
1. 定义一个长度为10的整型数组,用来存放输入的10个整数;
2. 通过for循环逐个输入10个整数,存放在数组中;
3. 通过双重for循环实现从大到小排序,每次找到最大值,与第i个元素交换位置;
4. 通过for循环求去掉最大值和最小值后的平均值;
5. 输出去掉最大值和最小值后的平均值;
6. 输出排序后的结果,从大到小输出数组中的每个元素。
注意:本程序中,平均值的计算是去掉最大值和最小值后的平均值,因此在排序后,第一个元素和最后一个元素即为最大值和最小值,可以去掉。