在这个例子中,你将学习如何用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