package main
import (
"fmt"
"strings"
"math/rand"
"time"
"sort"
)
func main(){
randArr()
}
//随机生成10个1-100的整数保存到数组,并倒序打印,求平均值,求最大值和最大值的下标,并查找里面是否有55
func randArr(){
var arr [10]int
rand.Seed(time.Now().UnixNano())
for i := 0; i < 10; i++ {
arr[i] = rand.Intn(100)
}
fmt.Println(arr)
// 求数组的平均值
avg := 0.0
for _, v := range arr {
avg += float64(v)
}
avg = avg/float64(len(arr))
fmt.Println("数组的平均值:",avg)
// 求最大值和最大值的下标
var max,index int
for i, v := range arr {
if max < v {
max = v
index = i
}
}
fmt.Println("数组的最大值:",max,"下标:",index)
// 数组的值是否有 55
var isExist int = -1
for i, v := range arr {
if v == 55 {
isExist = i
break
}
}
if isExist != -1 {
fmt.Println("数组中有 55 下标为:",isExist)
}else{
fmt.Println("数组中没有55")
}
// 正序排序
sort.Ints(arr[:])
fmt.Println(arr)
// 倒序排序
sort.Sort(sort.Reverse(sort.IntSlice(arr[:])))
fmt.Println(arr)
}