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)
4

2 に答える 2

6

これを試して:

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

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

(max-min alist)
> '(57 -4)
于 2012-04-19T19:23:33.170 に答える
0

何かのようなもの(cons (nMax alist) (cons (nMin alist) '()))

于 2012-04-19T19:06:22.350 に答える