2013-10-24 2 views
-2

Например:Нужна схема программы для печати названия чисел

(номер-имя 5513345) (пять миллионов пятьсот тринадцать тысяч триста сорок пять)

Я не очень конечно, как это сделать ??

Я попытался сделать это и закончил серию утверждений о случаях. Программа успешно распечатает имена целых чисел ниже десяти, но не делает ничего другого.

(define numname 
    (lambda (n) 
    (if (= n 0) 
     0 
     (cond ((= n 9) 'nine) 
       ((= n 8) 'eight) 
       ((= n 7) 'seven) 
       ((= n 6) 'six) 
       ((= n 5) 'five) 
       ((= n 4) 'four) 
       ((= n 3) 'three) 
       ((= n 2) 'two) 
       (else 'one))))) 
+1

Это выглядит как домашнее задание? – ethree

+0

Что вы можете сделать? Можете ли вы распечатать имена чисел ниже десяти? Положите компьютер на минутку и попытайтесь выписать алгоритм перехода от десятичного числа к его письменному представлению. Затем реализуем этот алгоритм в Схеме. – zck

+0

Прежде всего, спасибо за ваш ответ. Я пытался сделать то, что вы сказали, и закончил серию заявлений о делах. Программа успешно распечатает имена целых чисел ниже десяти, но не делает ничего другого. (укажите числовое имя (lambda (n) (if (= n 0) 0 (cond ((= n 9) 'nine) ((= n 8)' eight) ((= n 7) 'seven) ((= n 6) 'six) ((= n 5)' five) ((= n 4) 'four) ((= n 3)' three) ((= n 2) 'two) (иначе' one))))) – user2914067

ответ

3

Вы на правильном пути. Возьмите пример:

5513345 

Это:

5 513 345 

т.е:

five million five hundred thirteen thousand three hundred forty five 

Что можно записать в виде:

     five million 
five hundred  thirteen thousand 
three hundred forty  five (units) 

Смотрите рисунок возникающие? Ваш метод хорошо работает для чисел ниже 10 (на самом деле, вы можете пойти до 19, поскольку числа от 10 до 20 имеют специальное имя, не соответствующее общему соглашению Xty Y).

После того как вы это, должно быть легко идти до 99

После того как вы это, тривиальна идти до 999

После того как вы это, она даже не работать, чтобы разделить ваши цифры в миллиард, миллион, тысячи ... и снова применить их.

Счастливое кодирование!

Смежные вопросы