Golang 如何找到三个数中的最大值

Golang 如何找到三个数中的最大值

在本教程中,我们将看到如何在Golang中找到给定数字中的最大值。本教程将涵盖两种实现方法。

解释

Suppose we have three numbers 33, 76, and 47 so we can observe that
76 > 33
76 > 47
So our Golang code should print 76 as the largest number.

在同一函数内定义操作

步骤

  • 步骤1 - 声明变量number1、number2、number3和largest,类型为int32。

  • 步骤2 - 从用户处获取number1、number2和number3的输入。

  • 步骤3 - 在函数内找到三个数中的最大值。

  • 步骤4 - 打印结果。

时间复杂度

O(1) – 时间复杂度是常数,因为不论输入是什么,程序都会使用相同的时间。

空间复杂度

O(1) – 程序中的变量是静态的,所以空间复杂度也是常数。

示例1

在这个示例中,我们将在函数内找到三个数中的最大值。

package main
// fmt package provides the function to print anything
import (
   "fmt"
)
func main() {

   // declaring the variables to store number1, number2
   // number3, and largest of type int32 using var keyword
   var number1, number2, number3, largest int32
   fmt.Println("Program to find the largest number among three numbers within the function.")

   // initializing the number1
   number1 = 50

   // initializing the number2
   number2 = 75

   // initializing the number3
   number3 = 45

   // checking for all the numbers that which is greater than or equal to other
   // two numbers and then storing that number in Largest variable
   if number1 >= number2 && number1 >= number3 {
      largest = number1
   } else if number2 >= number1 && number2 >= number3 {
      largest = number2
   } else {
      largest = number3
   }

   // Printing the largest number among three numbers
   fmt.Println("Number 1 =", number1, "\nNumber 2=", number2, "\nNumber 3 =", number3, "\nLargest Number =", largest)
}

输出

Program to find the largest number among three numbers within the function.
Number 1 = 50
Number 2= 75
Number 3 = 45
Largest Number = 75

代码说明

  • var number1, number2, number3, largest int32 − 在这行代码中,我们声明了三个变量number1、number2、number3,它们将存储用户输入的数字,以及一个变量largest,它将存储最大的数字。

  • if number1>=number2 && number1>=number3 {} − 这个if条件判断语句用于检查number1是否是这三个数中最大的。

  • else if number2>=number1 && number2>=number3 {} − 这个else if条件判断语句用于检查number2是否是这三个数中最大的。

  • else { largest = number3 } − 如果前面的两个条件都不满足,则说明number3是最大的数。

  • fmt.Println(“The largest number among”, number1, number2, “and”, number3, “is”, largest) − 打印最大的数字。

在独立函数中定义操作

步骤

  • 步骤 1 − 声明类型为int32的变量number1、number2、number3和largest。

  • 步骤 2 − 从用户输入获取number1、number2和number3的值。

  • 步骤 3 − 调用带有number1、number2和number3作为参数的函数,并将largestNumber(number1, number2, number3 int32)函数返回的最大数值存储起来。

  • 步骤 4 − 打印最大的数字。

示例2

在这个示例中,我们通过定义独立的函数来找到三个数字中最大的数字。

package main
// fmt package provides the function to print anything
import (
   "fmt"
)
// This function to find the largest number among three numbers in the function parameter
func largestNumber(number1, number2, number3 int32) int32 {

   // declaring the local largest variable which will store
   // the value of the largest number among three numbers
   var localLargest int32

   // checking for all the numbers that which is greater than or equal to other
   // two numbers and then storing that number in localLargest variable
   if number1 >= number2 && number1 >= number3 {
      localLargest = number1
   } else if number2 >= number1 && number2 >= number3 {
      localLargest = number2
   } else {
      localLargest = number3
   }
   return localLargest
}
func main() {
   // declaring the variables to store number1, number2
   // number3, and largest of type int32 using var keyword
   var number1, number2, number3, largest int32
   fmt.Println("Program to find the largest number among three numbers by using the separate function.")

   // scanning the value first number from the user
   fmt.Println("Enter the first number:")
   fmt.Scanln(&number1)

   // scanning the value of the second number from the user
   fmt.Println("Enter the second number:")
   fmt.Scanln(&number2)

   // scanning the value of the third number from the user
   fmt.Println("Enter the third number:")
   fmt.Scanln(&number3)

   // finding the largest number among three numbers by calling the largestNumber() function
   largest = largestNumber(number1, number2, number3)

   // Printing the largest number among three numbers
   fmt.Println("The largest number among", number1, number2, "and", number3, "is", largest)
}

输出

Program to find the largest number among three numbers by using the separate function.
Enter the first number:
43
Enter the second number:
89
Enter the third number:
97
The largest number among 43 89 and 97 is 97

代码的描述:

  • var number1, number2, number3, largest int32 − 在这行代码中,我们声明了三个变量,用于存储用户输入的数字,以及一个变量largest,用于存储最大的数字的值。

  • fmt.Scanln( &number1) − 从用户输入获取number1的值。

  • fmt.Scanln( &number2) − 从用户输入获取number2的值。

  • fmt.Scanln( &number3) − 从用户输入获取number3的值。

  • largest = largestNumber(number1, number2, number3) − 在这行代码中,我们调用largestNumber()函数,该函数将返回这三个数字中最大的数字。

  • func largestNumber(number1, number2, number3 int32) int32 {} − 这是一个带有int32类型参数和int32类型返回值的函数,函数体在{}内。

    • if number1 >= number2 && number1 >= number3 {} − 这个if条件语句检查number1是否是这三个数字中最大的。

    • else if number2 >= number1 && number2 >= number3 {} − 这个else if条件语句检查number2是否是这三个数字中最大的。

    • else { largest = number3 } − 如果上述两个条件都不成立,则number3是最大的。

return localLargest – 在这行代码中,我们将最大的数字返回给主函数并存储起来。

  • fmt.Println(“The largest number among”, number1, number2, “and”, number3, “is”, largest) − 输出最大的数字。

结论

这是在Golang中找出三个数字中最大的两种方法。第二种方法在模块化和代码可重用性方面更好,我们可以在项目的任何地方调用该函数。要了解更多关于go的知识,可以探索这些 教程 。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程