Golang实例-查找数组或片断的最小值的程序

113 阅读2分钟

在这个例子中,你将学习如何用Go语言从用户的输入中找到数组或片断的最小/最小元素。

要理解下面的程序,你必须了解Go语言的以下特点。

这个程序的算法如下

首先,假设一个数组的起始元素是最小的元素,将与其他元素进行比较,如果元素比其他元素小,它将成为一个新的更小的元素,这一系列的步骤继续执行,直到所有的元素被遍历。

示例程序 一个数组的最小/较小的数字切片

这个程序解释了以下步骤的顺序

  • 数组或片断被声明并初始化为数值
  • 声明的smallestNumber初始化为数组的第一个元素,假设为最小的数字。
  • 迭代数组或片断,使用带范围的for循环来计算最小元素
  • 在每个元素的for循环中,如果一个元素是最小的数字,就把最小的数字分配给一个元素
  • 重复循环,直到所有元素迭代完成
package main  
import "fmt"  
  
func main() {  
  
 array := []int{11, 9, 1, 45, 411}  
 smallestNumber := array[0]  
 for _, element := range array {  
  if element < smallestNumber {  
   smallestNumber = element  
  
  }  
 }  
 fmt.Println("Smallest number of Array/slice is  ", smallestNumber)  
  
}  

输出是

Smallest number of Array/slice is   1  

检查数组/片状元素最小值的程序示例 从控制台读取用户输入的信息

这个程序不是像上面那样固定的数组元素,而是使用Scanln函数从用户的输入控制台读取数组大小和元素。

其逻辑与上述程序相同,以计算数组或数字片的最小值

package main  
  
import "fmt"  
  
func main() {  
 size := 0  
 fmt.Print("Number of elements n=")  
 fmt.Scanln(&size)  
 fmt.Println("Enter of array elements")  
 elements := make([]int, size)  
 for i := 0; i < size; i++ {  
  fmt.Scanln(&elements[i])  
 }  
 fmt.Println("Entered Array of elements:", elements)  
 smallestNumber := elements[0]  
 for _, element := range elements {  
  if element < smallestNumber {  
   smallestNumber = element  
  
  }  
 }  
 fmt.Println("Smallest number of Array/slice is  ", smallestNumber)  
  
}  

上述代码的输出如下

Number of elements n=5  
Enter of array elements  
2  
5  
0  
1  
8  
Entered Array of elements: [2 5 0 1 8]  
Smallest number of Array/slice is   0