Софтуерно Инженерство
Loading...
MartinBG avatar MartinBG 2104 Точки

Вместо 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 (не би трябвало да имате проблем с разчитането му - езиците синтактично са близки)

0
22/05/2020 03:57:59
SpasNikolov131 avatar SpasNikolov131 5 Точки

Има ли друго решение задачата това ми изглежда доста по-сложно?

0
MartinBG avatar MartinBG 2104 Точки

@SpasNikolov131

Разбира се, че има, но едва ли ще Ви хареса.

Правите if-else if-.....-else за 100-те варианта + един за грешено число (или един switch със 100 case + default) и във всеки принтирате готовия текст.

0