package main
import (
"fmt"
"gocode/oa/utils"
"math"
)
func main() {
// 定义一个成绩的数组
var cj = [8]float64{10, 11, 15, 16, 13, 70, 14.5, 22}
// 对成绩进行冒泡排序,可以看我上一篇文章,如何实现冒泡排序
sort := utils.Maopao(cj)
//去掉最高和最低的成绩和
var sum float64
for index, value := range sort {
if index > 0 && index < len(sort)-1 {
sum += value
}
}
//求出平均成绩
avg := sum / float64(len(cj))
// 定义一个数组来接收每个老师打分与平均的分差
var arrAbs = [8]float64{}
for index, value := range cj {
abs := math.Abs(value - avg)
arrAbs[index] = abs
}
var max, min int
// 将分差复制一份
arrAbs1 := arrAbs
for i := 0; i < 8; i++ {
// 通过比较得出分差最大的老师下标
if arrAbs[max] < arrAbs[i] {
max = i
}
// 通过比较得出分差最小的老师下标
if arrAbs1[min] > arrAbs1[i] {
min = i
}
}
fmt.Println("平均成绩是", avg)
fmt.Println("最接近的是", min)
fmt.Println("最离谱的是", max)
}
运行结果