我想写一个简单的函数(最高L k),它取一个列表和整数K> 0,返回一个k最高数字的新列表。 (最高'(6 7 8 5 3 2)3)给(6 7 8)
(define (highest L k)
(if (= k 0)
'()
(cons (highesthelper (car L) L)
((highest (remove (highesthelper (car L) L) L) (- k 1))))))
(define (remove E L)
(cond
((null? L)'())
((= E (car L)) (cdr L))
(else (cons (car L) (remove E (cdr L))))))
(define (highesthelper Hi L)
(cond
((null? L) Hi)
((> Hi (car L)) highesthelper Hi (cdr L))
(else (highesthelper (car L) (cdr L)))))
(highest '(1 7 4 5 3) 2)
我可以运行帮助程序并删除函数没有问题,但最高功能给我错误,有人可以帮助我吗?
由于
答案 0 :(得分:0)
我修正了一些简单的错误。请特别注意calculatormade:
\tadd.o sub.o multiply.o divide.o Calculator_Main.o gcc add.o sub.o multiply.o divide.o Calculator_Main.o -o calculatormade
add.o:
\tadd.c gcc add.c -c
sub.o:
\tsub.c gcc sub.c -c
multiply.o:
\tmultiply.c gcc multiply.c -c
divide.o:
\tdivide.c gcc divide.c -c
Calculator_Main.o:
\tCalculator_Main.c head.h gcc Calculator_Main.c -c
clean:
\trm calculatormade add.o sub.o multiply.o divide.o Calculator_Main.o
的{{1}}案例。
(> Hi (car L))