Golang学习进度过半,第一次独立完成课后作业····
加油!
package main
import (
"fmt"
"math/rand"
"time"
)
func main(){
// 随机生成10个整数【1,100】保存到数组,并倒叙打印、求平均值、最大值和最大值的下标,并查找里面是否有55
// 1、声明数组;2、循环10次随机生成数字,3、倒序排序,二分法或冒泡法,4、计算均值、最大值,在前面倒序打印时,就将最大值赋值给一个变量,使用for循环判断 与最大值相等时,取出其下标即可;5、逐一判断是否有元素等于55
var randarr [10]int
//fmt.Println(randarr)
rand.Seed(time.Now().UnixNano())
for i := 0; i < len(randarr); i++{
randarr[i] = rand.Intn(100)
}
var (
arrmax int
tempnum int
lens int = len(randarr)
temparr [10]int
sums float64
avg float64
valflag int = -1
)
temparr = randarr
fmt.Printf("original arr value = %v\n", temparr)
// 排序,从小到大
for i := 0; i < lens-1; i++{
for j := 0; j < lens- 1 -i; j++{
if randarr[j] > randarr[j + 1]{
tempnum = randarr[j]
randarr[j] = randarr[j + 1]
randarr[j+1] = tempnum
}
}
}
// 排序,从大到小
for i := 0; i < lens-1; i++{
//sums += float64(randarr[i])
for j := lens - 1; j > 0; j--{
if randarr[j] > randarr[j - 1]{
tempnum = randarr[j]
randarr[j] = randarr[j - 1]
randarr[j - 1] = tempnum
}
}
}
arrmax = randarr[0]
for i := 0; i < lens; i++{
sums += float64(randarr[i])
if randarr[i] == 55{
valflag = 55
}
}
for i, v := range temparr {
if v == arrmax{
fmt.Printf("arr max value's index = %v\n", i)
}
}
//fmt.Println(temparr,"\n",sums)
avg = sums / float64(lens)
fmt.Printf("arr max value %v, arr avg value %v \n", arrmax, avg)
if valflag == 55{
fmt.Println("arr contain value 55")
}else {
fmt.Println("arr does not contain value 55")
}
}
来B站 跟韩顺平老师学GOlang啊,看谁比谁更坚持【doge】
@韩顺平老师, 给你广播