综合训练题:定义一个数组,并给出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)
}
输出结果: