【发布时间】:2011-02-26 03:06:15
【问题描述】:
赋值是定义一个函数,接受单个列表作为参数,输出列表的最大值。我觉得我的嵌套“ifs”和“lets”非常多,并且该功能在没有打印答案的情况下过早终止。我已经寻找了一个使用 let 正确使用递归的示例,但结果为空,DrRacket 中的调试功能对于通过递归调用进行跟踪并不是很有用。
感谢任何帮助,谢谢。
(define max
(lambda (x)
(let ((y (car x)))
(if (null? (cdr x))
y
(let ((m (max(cdr x))))
(if (> m y)
m
y)
)))))
【问题讨论】: