【发布时间】:2015-06-25 11:47:23
【问题描述】:
我决定编写一个函数,给定一个数字将返回一个包含该数字中数字的列表,我的尝试是:
(define (rev-digits n)
(if (= n 0)
'()
(cons (modulo n 10) (digits (quotient n 10)))))
(define (digits n)
(reverse (rev-digits n)))
事实是,我需要按正确的顺序排列数字,但函数会返回,例如:
> (digits 1234567890)
'(9 7 5 3 1 2 4 6 8 0)
看似随机的顺序...您能帮我获得更协调的输出吗?
【问题讨论】:
-
我无法重现此行为。该函数按预期工作并为我返回
'(0 9 8 7 6 5 4 3 2 1)。我在 Windows 上使用 DrRacket 5.2.1。 -
@MarkusHimmel 我的错,代码不完整,让我添加更多上下文。