Go 程序查找数组中的最大值和最小值

编写一个 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)
}
Go Program to Find Largest and Smallest Number in an Array

在此 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