Изписване на число от 0 до 100 с думи
Как да проверим за двучислени числа и остатъка от задачата ми е доста неясен...
Как да проверим за двучислени числа и остатъка от задачата ми е доста неясен...
Вместо if-else if-else if..... може да използвате switch, който предлага по-компактен запис.
Няколко идеи по задачата:
Като минимум, ще Ви трябва отделен case за всички числа от 0 до 19, както и за 20, 30, 40, 50, 60, 70, 80, 90, 100.
Ако въведеното число е някое от тези - директно извеждаме предефинирания отговор.
Ако е различно - напр. 27, трябва да го разбием на десетици (20) и единици (7), да вземем стринга за всяка част по отделно(20 -> "twenty", 7 -> "seven") и да ги съединим ("twenty" + " " + "seven") за да получим резултата ("twenty seven").
За вземем 10-ците на едно двуцифрено цяло число може да го разделим първо на 10 и след това да умножим резултата по 10.
Например за 27:
27 / 10 = 2 //защото 10 се съдържа само 2 пъти в 20
2 * 10 = 20
За да получим единиците от някакво цяло число, може да го разделим по модул (%) на 10.
Например за 27:
27 % 10 = 7 // защото 27 - (2 * 10) = 7
Ако е останало нещо неясно по алгоритъма, може да погледнете това решение на Java (не би трябвало да имате проблем с разчитането му - езиците синтактично са близки)
Има ли друго решение задачата това ми изглежда доста по-сложно?
@SpasNikolov131
Разбира се, че има, но едва ли ще Ви хареса.
Правите if-else if-.....-else за 100-те варианта + един за грешено число (или един switch със 100 case + default) и във всеки принтирате готовия текст.