Golang课后作业练习一

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】

@韩顺平老师, 给你广播

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值