查找高于平均值的数字

我可以使用一些帮助从结构数组中找到所有高于计算平均值的数字!


//MeanMedianMode struct

type MeanMedianMode struct {

    numbers []float64

}


func main() {


    // range of numbers

    dataType := MeanMedianMode{

        numbers: []float64{

            84, 25, 88, 56, 10, 19, 11, 80,

            45, 83, 22, 40, 22, 52, 61, 13, 73, 23, //Data to be used

            90, 89, 6,

        },

    }

我已经弄清楚如何轻松传递我的数据并找到平均值如下......


//CalcMean float64

func (mm *MeanMedianMode) CalcMean() float64 {

    total := 0.0


    for _, v := range mm.numbers {

        total += v

    }


    return (total / float64(len(mm.numbers)))

    //return math.Round(total / float64(len(mm.numbers))) //Should it need to be rounded

}

我最大的问题是复制该过程并在另一个函数中使用存储在数组中的值并迭代它们以找到大于(>)找到的平均值的值!我很欣赏这些见解!


慕神8447489
浏览 112回答 1
1回答

慕勒3428872

我不知道你想怎么做,但我猜是这样的:package mainimport (    "fmt")//MeanMedianMode structtype MeanMedianMode struct {    numbers []float64}func main() {    m := &MeanMedianMode{        numbers: []float64{            84, 25, 88, 56, 10, 19, 11, 80,            45, 83, 22, 40, 22, 52, 61, 13, 73, 23,            90, 89, 6,        },    }    mean := m.CalcMean()    for _, n := range m.numbers {        if n > mean {            fmt.Printf("%.3f is greater than the mean\n", n)        }    }}//CalcMean float64func (mm *MeanMedianMode) CalcMean() float64 {    total := 0.0    for _, v := range mm.numbers {        total += v    }    return (total / float64(len(mm.numbers)))}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go