Haskell程序提取给定年份的后两位数字


本教程将帮助我们提取给定年份的后两位数字。年份值作为参数传递给定义的函数,然后使用Haskell中的各种方法提取后两位数字。最后显示最终输出。

例如,对于输入年份=2023,后两位数字=23。

算法

  • 步骤1 - 导入Data.Char模块以使用digitToInt函数。

  • 步骤2 - 定义extractLastTwoDigits函数

  • 步骤3 - 程序执行将从main函数开始。main()函数控制整个程序。

  • 步骤4 - 初始化名为“year”的变量。它将包含要提取后两位数字的年份值。

  • 步骤5 - 使用'putStrLn'语句显示年份的最终结果后两位数字。

使用extractLastTwoDigits函数

extractLastTwoDigits函数以Int作为参数,表示年份。init函数用于从年份中删除最后一位数字,last函数用于提取年份剩余数字的最后一位数字。

示例1

import Data.Char (digitToInt)

extractLastTwoDigits :: Int -> String
extractLastTwoDigits year = [(last (init (show year))), last (show year)]

main :: IO ()
main = do
   let year = 2023
   let result = extractLastTwoDigits year
   putStrLn ( "Last two digits of the year are: " ++ result)

输出

Last two digits of the year are: 23

使用取模运算符

在此示例中,mod函数返回除法的余数,div函数返回除法的商。通过将年份除以100,然后取余数,我们可以得到年份的后两位数字。

示例2

import Data.Char (digitToInt)

extractLastTwoDigits :: Int -> Int
extractLastTwoDigits year = year `mod` 100

main :: IO ()
main = do
   let year = 2021
   let result = extractLastTwoDigits year
   putStrLn ( "Last two digits of the year are: " ++ show result)

输出

Last two digits of the year are: 21

使用列表推导式

在此示例中,列表推导式用于通过将年份转换为字符串,然后使用digitToInt函数来提取年份的后两位数字。

示例3

import Data.Char (digitToInt)

extractLastTwoDigits :: Int -> [Int]
extractLastTwoDigits year = [digitToInt x | x <- (drop (length (show year) - 2) (show year))]

main :: IO ()
main = do
    let year = 2018
    let result = extractLastTwoDigits year
    putStrLn ( "Last two digits of the year are: " ++ show result)

输出

Last two digits of the year are: [1,8]

结论

在Haskell中,有多种方法可以提取输入年份的后两位数字。要提取年份的后两位数字,我们可以使用用户定义的extractLastTwoDigits函数、取模运算符或列表推导式。年份值作为参数传递给这些函数,然后提取年份的后两位数字。

更新于: 2023年1月23日

360次浏览

开启你的 职业生涯

通过完成课程获得认证

立即开始
广告