c语言:去除最高分最低分,求平均值|练习题

一、题目

有10个裁判评分,去除最高分和最低分,求运动员的平均分。

如图:

二、思路分析

1、设置一个数组变量,用冒泡排序法排序

2、数组的首位和最后一位,就是最低分和最高分

3、数组的第二到n-1个,就是符合要求的分数

三、代码截图【带注释】

四、源代码【带注释】

#include <stdio.h>

#define N 10//定义常数iconN

//输入10个分数,去除最低分和最高分,求平均值

//思路分析:

//1、设置一个数组变量,用冒泡排序法排序

//2、数组的首位和最后一位,就是最低分和最高分

//3、数组的第二到n-1个,就是符合要求的分数

void sort(int[]);//定义排序函数

void aver(int[]);//定义求平均值函数

int main()

{

int arricon[N];

printf("请输入%d个分数。\n\n",N);

for(int i=0; i<N; i++)

{

printf("第%d个:",i+1);

scanf("%d",&arr[i]);

}

sort(arr);

aver(arr);

}

//用冒泡排序法排序

void sort(int arr[])

{

int temp=0;

for(int i=0; i<N-1; i++)

{

for(int j=0; j<N-i-1; j++)

{

if(arr[j]<arr[j+1])

{

temp=arr[j+1];

arr[j+1]=arr[j];

arr[j]=temp;

}

}

}

}

//从第二位到N-1位的分数,就是要求的分数

aver(int arr[])

{

int sum=0;

//求第二位循环到N-1位的分数和

for(int i=1; i<N-1; i++)

{

sum=sum+arr[i];

}

printf("\n去掉\n最高分:%d",arr[0]);

printf("\n最低分:%d\n",arr[N-1]);

printf("\n\n%d个分数的平均分是:%.2f",

N-2,(float)sum/(N-2));

}

五、运行结果

关注我,每天分享编程知识

相关推荐
AAD555888992 分钟前
自动驾驶环境中的车辆目标检测——基于YOLO11-C3k2-RVB的改进算法
算法·目标检测·自动驾驶
洛生&4 分钟前
Flight Discount
算法
Sammyyyyy5 分钟前
Gemini CLI 进阶:构建安全的MCP连接与验证策略
开发语言·ai·ai编程·servbay
老蒋每日coding5 分钟前
驾驭并发之力:Go语言构建高可用微服务完全指南
开发语言·微服务·golang
努力学习的小洋9 分钟前
Python训练打卡Day4:缺失值处理
开发语言·python
郝学胜-神的一滴9 分钟前
Python类属性与实例属性详解及MRO算法演进
开发语言·python·程序人生·算法
一颗青果11 分钟前
短线重连代码实现
开发语言·网络·c++
AI视觉网奇11 分钟前
audio2face 实时驱动 2026笔记
开发语言·python
陳103018 分钟前
C++:list(1)
开发语言·c++
小CC吃豆子19 分钟前
如何在 VS Code 中调试 C++ 程序?
开发语言·c++