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和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 – 在这行代码中,我们声明了三个变量,它们将存储来自用户的数字和一个最大的变量,它将存储最大的数字的值。

  • **if number1 >= number2 && number1 >= number3 {} – **这个if条件是检查数字1是否是这三个变量中最大的。

  • **else if number2 >= number1 && number2 >= number3 {} – **这个else if条件是检查number2在他们三个中是否最大。

  • else { largest = number3 } – 如果上述两个条件不匹配,那么number3就是最大的一个。

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

在分离函数中定义操作

算法

  • 第1步– 声明number1、number2、number3和int32数据类型的最大变量。

  • 第2步 – 从用户那里获得number1, number2, and number3的输入。

  • 第3步 – 以number1、number2和number3为参数调用函数,并存储函数返回的最大数字maximumNumber(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 – 在这行代码中,我们声明了三个变量,它们将存储来自用户的数字,还有一个最大的变量将存储最大的数字的值。

  • **fmt.Scanln( &number1) – **从用户那里获取number1的输入值

  • **fmt.Scanln( &number2) – **从用户取得数字2的输入。

  • **fmt.Scanln( &number3) – **从用户那里获取数字3的输入。

  • largest = largestNumber(number1, number2, number3) – 在这一行,我们正在调用 largestNumber() 函数,它将返回三个数字中最大的一个。

  • func largestNumber(number1, number2, number3 int32) int32 {} – 这是一个参数为int32类型的函数,其返回类型也是int32,在{}前面提到。

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

    • **else if number2 >= number1 && number2 >= number3 {} – **这个else if条件是检查数字2在三个数字中是否最大。

    • else { largest = number3 } – 如果以上两个条件不匹配,那么number3就是最大的一个。

return localLargest – 在这一行中,我们将返回最大的数字,并将其存入主函数中。

  • fmt.Println(“number1, number2, “and”, number3, “is”, largest) – 打印最大数字。

总结

以上是在Golang中找到三个数字中最大的两个方法。第二种方法在模块化和代码重用性方面要好得多,因为我们可以在项目的任何地方调用这个函数。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程