2012-04-19 111 views
2

我需要查找列表的最大和最小值,然後添加到新列表中。這是我的代碼到目前爲止:初學者:需要計劃列表中的幫助

(define alist '(18 39 57 -4 0) 

(define (nMax alist) 
    (if (null? (cdr alist)) 
     (car alist) 
     (if (> (car alist) (nMax (cdr alist))) 
      (car alist) 
      (nMax (cdr alist))))) 

(define (nMin alist) 
    (if (null? (cdr alist)) 
     (car alist) 
     (if (< (car alist) (nMin (cdr alist))) 
      (car alist) 
      (nMin (cdr alist))))) 

現在我卡住了。我如何在新列表中添加nMin + nMax?我的輸出應該是這樣的:

'(57 -4) 
+0

你想在同一個列表中的兩個元素,或者兩個要素的總和? – Jordan 2012-04-19 19:07:05

+0

是的,我希望他們在同一個列表 – 2012-04-19 19:23:55

回答

6

試試這個:

(define alist '(18 39 57 -4 0)) 

(define (max-min alist) 
    (list (nMax alist) 
     (nMin alist))) 

(max-min alist) 
> '(57 -4) 
+1

非常感謝它的工作 – 2012-04-19 19:32:59

0

喜歡的東西(cons (nMax alist) (cons (nMin alist) '()))