编写一个 Go 程序,使用 For 循环在数组中查找最大值和最小值。首先,我们将数组的第一个元素同时赋值给最大值和最小值(largest := lgsmArr[0] 和 smallest := lgsmArr[0])。我们在 for 循环中使用两个 if 条件(for i = 0; i < lgsmsize; i++)。
第一个(if largest < lgsmArr[i])查找最大的数组元素及其索引位置。第二个 if 语句(if smallest > lgsmArr[i])查找最小的数组数及其索引位置。
package main
import "fmt"
func main() {
var lgsmsize, i, minPosition, maxPosition int
fmt.Print("Enter the Array Size to find Smallest & Largest = ")
fmt.Scan(&lgsmsize)
lgsmArr := make([]int, lgsmsize)
fmt.Print("Enter the Array Items = ")
for i = 0; i < lgsmsize; i++ {
fmt.Scan(&lgsmArr[i])
}
largest := lgsmArr[0]
smallest := lgsmArr[0]
for i = 0; i < lgsmsize; i++ {
if largest < lgsmArr[i] {
largest = lgsmArr[i]
maxPosition = i
}
if smallest > lgsmArr[i] {
smallest = lgsmArr[i]
minPosition = i
}
}
fmt.Println("\nThe Largest Number in this lgsmArr = ", largest)
fmt.Println("The Index Position of Largest Number = ", maxPosition)
fmt.Println("\nThe Smallest Number in this lgsmArr = ", smallest)
fmt.Println("The Index Position of Smallest Number = ", minPosition)
}
Enter the Array Size to find Smallest & Largest = 5
Enter the Array Items = 20 80 70 10 60
The Largest Number in this lgsmArr = 80
The Index Position of Largest Number = 1
The Smallest Number in this lgsmArr = 10
The Index Position of Smallest Number = 3
使用 For 循环 Range 查找数组中最大值和最小值的 Go 程序
package main
import "fmt"
func main() {
var lgsmsize, i, minPosition, maxPosition int
fmt.Print("Enter the Array Size to find Smallest & Largest = ")
fmt.Scan(&lgsmsize)
lgsmArr := make([]int, lgsmsize)
fmt.Print("Enter the Array Items = ")
for i = 0; i < lgsmsize; i++ {
fmt.Scan(&lgsmArr[i])
}
largest := lgsmArr[0]
smallest := lgsmArr[0]
for i, lgsm := range lgsmArr {
if largest < lgsm {
largest = lgsm
maxPosition = i
}
if smallest > lgsm {
smallest = lgsm
minPosition = i
}
}
fmt.Println("\nThe Largest Number in this lgsmArr = ", largest)
fmt.Println("The Index Position of Largest Number = ", maxPosition)
fmt.Println("\nThe Smallest Number in this lgsmArr = ", smallest)
fmt.Println("The Index Position of Smallest Number = ", minPosition)
}

在此 Golang 程序中,我们创建了两个单独的函数,分别返回给定数组中的最大值(larestNum(lgsmArr []int))和最小值(smallestNum(lgsmArr []int))以及它们的索引位置。
package main
import "fmt"
var largest, minPosition, maxPosition, smallest int
func larestNum(lgsmArr []int) (int, int) {
largest = lgsmArr[0]
for i, lg := range lgsmArr {
if largest < lg {
largest = lg
maxPosition = i
}
}
return largest, maxPosition
}
func smallestNum(lgsmArr []int) (int, int) {
smallest = lgsmArr[0]
for i, sm := range lgsmArr {
if smallest > sm {
smallest = sm
minPosition = i
}
}
return smallest, minPosition
}
func main() {
var lgsmsize, i, minPosition, maxPosition int
fmt.Print("Enter the Array Size to find Smallest & Largest = ")
fmt.Scan(&lgsmsize)
lgsmArr := make([]int, lgsmsize)
fmt.Print("Enter the Array Items = ")
for i = 0; i < lgsmsize; i++ {
fmt.Scan(&lgsmArr[i])
}
largest, maxPosition = larestNum(lgsmArr)
smallest, minPosition = smallestNum(lgsmArr)
fmt.Println("\nThe Largest Number in this lgsmArr = ", largest)
fmt.Println("The Index Position of Largest Number = ", maxPosition)
fmt.Println("\nThe Smallest Number in this lgsmArr = ", smallest)
fmt.Println("The Index Position of Smallest Number = ", minPosition)
}
Enter the Array Size to find Smallest & Largest = 8
Enter the Array Items = 10 30 70 9 33 89 120 14
The Largest Number in this lgsmArr = 120
The Index Position of Largest Number = 6
The Smallest Number in this lgsmArr = 9
The Index Position of Smallest Number = 3