(defun roman2 ()
"Convert a number (<=399) to roman numeral" 
  (let ((x nil)) ;; initalize x to nil
    (loop ;; loop forever; continue asking the user for a new number
     (cond 
      ((null x) (format t "Enter number:") (setf x (read))) 
      ((> x 399) (format t "Too Big~%") (setf x nil)) 
      ((> x 99) (prin1 'c) (setf x (- x 100))) 
      ((> x 90) (prin1 'xc) (setf x(- x 90))) 
      ((= x 90) (prin1 'xc) (setf x 0)) 
      ((> x 50) (prin1 'l) (setf x (- x 50))) 
      ((= x 50) (prin1 'l) (setf x 0)) 
      ((> x 40) (prin1 'xl) (setf x (- x 40))) 
      ((= x 40) (prin1 'xl) (setf x 0)) 
      ((> x 9) (prin1 'x) (setf x (- x 10))) 
      ((= x 9) (prin1 'ix) (setf x 0)) 
      ((> x 4) (prin1 'v) (setf x (- x 5))) 
      ((= x 4) (prin1 'iv)(setf x 0)) 
      ((> x 0) (prin1 'i) (setf x (1- x))) 
      ((zerop x) (setf x nil) (terpri)) 
      ))))                                  

Scoring

There were a total of 3 points for this problem, and the average was about 2 points. Also the most common error was not handling 40 correctly. 40 is XL and not XXXX.