Go: 求数组中大于平均值和小于平均值的数的个数

综合训练题:定义一个数组,并给出17个整数,求该数组中大于平均值的数的个数,和小于平均值的数的个数。(平均值按保留2位输出)

package main

import (
	"fmt"
	"time"
	"math/rand"
)


func BigNum(arr []int) (avg float64,bigCount int) {
	bigCount = 0
	sum := 0
	
	for i := 0 ; i < len(arr); i ++ {
		sum += arr[i]
	}
	avg = float64(sum) /  float64(len(arr)) 
	for j := 0 ; j < len(arr); j ++ {
		if avg < float64(arr[j]) {
			bigCount ++
		} 
	}
	return avg,bigCount
}

func SmallNum(arr []int) (avg float64,smallCount int) {
	smallCount = 0
	sum := 0

	for i := 0; i < len(arr); i ++ {
		sum += arr[i]
	}
	avg = float64(sum) / float64(len(arr))
	for j := 0; j < len(arr); j ++ {
		if avg > float64(arr[j]) {
			smallCount ++ 
		} 
	}
	return avg,smallCount
}

func main() {
	var (
		arrInt [17]int
	)
	for i := 0; i < len(arrInt); i ++ {
		rand.Seed(time.Now().UnixNano())
		n := rand.Intn(100) + 1
		arrInt[i] = n
	}

	fmt.Println("arrInt = ",arrInt)

	avgBigNum,bigCount := BigNum(arrInt[:])
	avgMinNum,minCount := SmallNum(arrInt[:])

	fmt.Printf("该数组中大于平均数%.2f的个数有%v个 \n",avgBigNum,bigCount)
	fmt.Printf("该数组中小于平均数%.2f的个数有%v个 \n",avgMinNum,minCount)
	
}

输出结果:

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值