习题一:
- 生成一个随机数组并进行排序
// 数组习题
package main
import (
"fmt"
"math/rand"
"time"
)
// 创建一个随机种子数并随机生成10个100以内的int类型元素,进行冒泡排序
func main(){
rand.Seed(time.Now().UnixNano())
var arr [10]int
for i:=0;i<10;i++{
f := rand.Intn(100)
arr[i] = f
}
fmt.Println(arr)
for i:=0;i<len(arr);i++{
for i:=0;i<len(arr)-1;i++{
tmp := arr[i]
if arr[i]<arr[i+1]{
arr[i] = arr[i+1]
arr[i+1] = tmp
}
}
}
fmt.Println(arr)
}
习题二:
- 已知一个排序好的升序数组,插入一个数值然后打印要求仍然是升序
- 思路:定义一个数组预置一位用来插入,然后进行排序
package main
import "fmt"
func main(){
var arr = [6]int{12,34,45,56,76}
fmt.Println(arr)
fmt.Println("请输入需要插入的数值: ")
fmt.Scanln(&arr[len(arr)-1])
for index,i := range arr{
fmt.Println(index,i)
}
for i:=0;i<len(arr);i++{
for i:=0;i<len(arr)-1;i++{
if arr[i]>arr[i+1]{
tmp := arr[i+1]
arr[i+1] = arr[i]
arr[i] = tmp
}
}
}
fmt.Println(arr)
}
习题三:
- 编写一个三行四列的二维数组,逐个输入元素,并最外围元素置为0习题三
- 思路:进行二维数组遍历,逐个输入元素,再次进行遍历,把下标为初始位及末位的置为0,再次进行遍历输出对应的格式
package main
import "fmt"
func main(){
var arrtwo [6][6]int
for index,i :