我試圖從鍵盤讀取的總和數字,但我不明白,在函數sumNums例如我把7和我可以輸入8個數字,但只是添加7 ,我想,輸入7並添加7.在主函數中我沒有得到使用sumNumsHaskell遞歸 - 從鍵盤讀數的總和
getInt :: IO Int
getInt = do
s <- getLine
return (read s)
sumNums :: Integer -> IO Int
sumNums n = do
x<-getInt
if n==0
then return 0
else do
rest <- sumNums (n-1)
return (x+rest)
main = do putStrLn "Type numbers: "
suma <- sumNums 7
putStrLn "Sum: " ++ show sum
average <- suma/7
putStrLn "Average: " ++ show average
嘗試以'n == 1'結尾;另外,您不能將'(/)'應用於'Integral'類型。嘗試用'fromIntegral'投射'suma'。 – ThreeFx