fork download
  1. ; exercise 6
  2.  
  3. (define (exercise6)
  4. (let* ((val1 (read)) (val2 (read)) (val3 (read))
  5. (smallest 0) (middle 0) (largest 0))
  6. (cond ((and (<= val1 val2) (<= val1 val3))
  7. (set! smallest val1)
  8. (cond ((<= val2 val3)
  9. (set! middle val2)
  10. (set! largest val3))
  11. (else (set! middle val3)
  12. (set! largest val2))))
  13. ((and (<= val2 val1) (<= val2 val3))
  14. (set! smallest val2)
  15. (cond ((<= val1 val3)
  16. (set! middle val1)
  17. (set! largest val3))
  18. (else (set! middle val3)
  19. (set! largest val2))))
  20. (else (set! smallest val3)
  21. (cond ((<= val1 val2)
  22. (set! middle val1)
  23. (set! largest val2))
  24. (else (set! middle val2)
  25. (set! largest val3)))))
  26. (for-each display `("values sorted : "
  27. ,smallest ", " ,middle ", " ,largest #\newline))))
  28.  
  29. (exercise6)
  30. (exercise6)
Success #stdin #stdout 0.01s 7928KB
stdin
6
4
10
4
5
4
stdout
values sorted : 4, 6, 10
values sorted : 4, 4, 5