落書きノート

ふと自分が気になった事を書いてます

Haskellで不定期練習

import Text.Printf

main :: IO ()

main = do
  putStrLn "整数a"
  v1 <- getLine
  putStrLn "整数b"
  v2 <- getLine
  putStrLn "整数c"
  v3 <- getLine
  let a = read v1 :: Int
      b = read v2 :: Int
      c = read v3 :: Int
  if a > b && b > c || c > b && b > a then printf "中央値は%dです。\n" b
    else if b > a && a > c || c > a && a > b then printf "中央値は%dです。\n" a
    else printf "中央値は%dです。\n" c


import Text.Printf

main :: IO ()

main = do
  putStrLn "整数a"
  v1 <- getLine
  putStrLn "整数b"
  v2 <- getLine
  let a = read v1 :: Int
      b = read v2 :: Int
  if a > b then do
    printf "小さいほうの値は%dです。\n" b
    printf "大きいほうの値は%dです。\n" a
    else if a < b then do
    printf "小さいほうの値は%dです。\n" a
    printf "大きいほうの値は%dです。\n" b
    else do
    printf "二つの値は同じです。\n"


import Text.Printf
import Data.List
import Data.Array

main :: IO ()

main = do
  putStrLn "変数a"
  v1 <- getLine
  putStrLn "変数b"
  v2 <- getLine
  let tl = [read v1 :: Int, read v2 :: Int]
  let ab = listArray (0, 1) $ sortBy (\x y -> compare y x) tl
  printf "変数aは%dです。\n" $ ab ! 0
  printf "変数bは%dです。\n" $ ab ! 1
> cabal install array