Haskell程序:找出三个数中最大的数


在本教程中,我们将讨论编写一个程序来找出Haskell编程语言中三个数字中最大的数。

我们将学习三种不同的方法来实现Haskell中找出三个数字中最大的数的程序。

  • 使用if-else语句找出三个数中最大的数的程序。

  • 使用max函数找出三个数中最大的数的程序。

  • 使用maximum函数找出三个数中最大的数的程序。

语法

在返回IO操作的函数中,可以使用“let”关键字立即声明和初始化变量。

let num=100

以上一行将整数数值加载到num中。我们可以在变量中加载其他数据类型的值。初始化后,数据类型严格绑定到变量。变量的类型在其初始化时确定。

在函数外部声明和定义整数以及不使用IO操作的函数的语法

num :: Int

以上一行声明变量num为Int类型。

注意 − 如果没有进行数据类型声明,以上一行是可选的;数据类型绑定在其初始化时发生。

num = 10

以上一行用整数10初始化变量num。我们不能加载其他数据类型,因为我们已将变量声明为整数。如果加载其他数据类型,编译器会报错。这里的变量类型在编译时确定。

算法步骤

  • 初始化或输入三个数字。

  • 实现查找三个数字中最大值的逻辑。

  • 打印或显示三个数字中的最大数。

示例1

使用if-else语句找出三个数中最大的数的程序

-- function declaration findLargest :: Int->Int->Int->Int -- function definition findLargest a b c = if (a >= b) then if (a >= c) then a else c else if (b>=c) then b else c main :: IO() main = do -- declaring and initializing variables let a = 6 let b = 10 let c = 9 -- invoking the function findLargest and printing the result print ("largest among the three numbers:"++ show a ++" " ++ show b ++ " and " ++ show c ++ " is:") print (findLargest a b c)

输出

"largest among the three numbers:6 10and 9 is:"
10

在上面的程序中,我们声明了一个名为findLargest的函数,它接受三个整数作为参数并返回一个整数。在其函数定义中,我们接受三个参数a、b和c。在函数中,我们使用if-else语句实现了返回三个数字中最大值的逻辑。

逻辑是:

  • 首先我们比较a和b。如果a大于等于b。

    • 我们比较a和c。如果a大于等于c。

      • 我们返回变量a

      • 否则我们返回变量c

  • 如果a小于b,

    • 我们比较b和c,如果b大于等于c

      • 我们返回b

      • 否则我们返回c。

在主函数中,我们声明并初始化了三个变量a、b和c。我们用这三个数字作为参数调用了findLargest函数。最后,我们使用print函数打印返回的数字。

注意show是一个用于将数字解析为字符串的函数。“++”是连接两个字符串的操作符。

示例2

使用max函数找出三个数中最大的数的程序

main :: IO() main = do -- declaring and initializing variables let a = 6 let b = 10 let c = 9 -- computing the largest number using max function let largest = max (max a b) (max b c) -- printing the largest number print ("largest among the three numbers:"++ show a ++" " ++ show b ++ " and " ++ show c ++ " is:") print (largest)

输出

"largest among the three numbers:6 10 and 9 is:"
10

在上面的程序中,我们声明并初始化了三个变量a、b和c。我们使用max函数计算最大数,该函数接受两个数字作为参数并返回它们中的最大数。我们通过使用max函数计算a、b和b、c中的最大数来计算三个数中的最大数。最后,我们打印返回的结果。

示例3

使用maximum函数找出三个数中最大的数的程序

main :: IO() main = do -- declaring and initializing variables let a = 6 let b = 10 let c = 9 -- computing the largest number using max function let largest = maximum [a,b,c] -- printing the largest number print ("largest among the three numbers:"++ show a ++" " ++ show b ++ " and " ++ show c ++ " is:") print (largest)

输出

"largest among the three numbers:6 10 and 9 is:"
10

在上面的程序中,我们声明并初始化了三个变量a、b和c。我们使用了maximum函数,该函数接受一个数字列表作为参数并返回列表中的最大数。我们用这三个变量生成了一个列表,并用这个列表作为参数调用了maximum函数,并将返回值加载到变量largest中。最后,我们打印了最大数。

结论

在本教程中,我们讨论了在Haskell编程语言中以三种不同的方法实现一个程序来查找三个数字中最大的数。

更新于:2022年11月24日

788 次浏览

开启你的职业生涯

通过完成课程获得认证

开始学习
广告