Цитата:
Сообщение от Chelios
2)Дано натуральное N<=100. Записать это число русскими словами. (Например: двадцать один, девяносто три).
|
Код:
CONST
Names1:ARRAY[1..9] of STRING = ('один',
'два',
'три',
'четыре',
'пять',
'шесть',
'семь',
'восемь',
'девять');
Names2:ARRAY[1..10] of STRING = ('десять',
'одиннадцать',
'двенадцать',
'тринадцать',
'четырнадцать',
'пятнадцать',
'шестнадцать',
'семнадцать',
'восемнадцать',
'девятнадцать');
Names3:ARRAY[1..8] of STRING = ('двадцать',
'тридцать',
'сорок',
'пятьдесят',
'шестьдесят',
'семьдесят',
'восемьдесят',
'девяносто');
VAR
N:BYTE;
BEGIN
Write('N= ');
ReadLn(N);
If N=0 then WriteLn('ноль') else
If N=100 then WriteLn('сто') else
If N<10 then WriteLn(Names1[N]) else
If N<20 then WriteLn(Names2[N-9]) else
If (N mod 10)=0 then WriteLn(Names3[(N div 10)-1]) else
WriteLn(Names3[(N div 10)-1]+' '+Names1[N mod 10]);
ReadLn;
END.