Паскаль. с клавиатуры вводится целое число от 1 до 1000, обозначающая сумму в рублях. программа должна напечатать эту сумму прописью. пример: пятнадцать рублей.
Var m, n: integer; s1, s2, s3: string; ms: array[1..9] of string; md: array[1..9] of string; m1: array[11..19] of string; me: array[1..9] of string; flag: boolean;
Write('Введите целое число от 1 до 1000: '); Readln(m); if (m < 1) or (m > 1000) then Writeln('Шутки шутим?') else if m = 1000 then Writeln('Одна тысяча ' + s3) else begin { сотни } n := m div 100; if n > 0 then begin Write(ms[n]); flag := true end; { десятки } m := m mod 100; if m = 0 then Writeln(' ', s3) else begin if (m > 10) and (m < 20) then begin if flag then Write(' '); Writeln(m1[m], ' ', s3) end else if m > 0 then begin n := m mod 10; m := m div 10; if m > 0 then begin if flag then Write(' ') else flag := true; Write(md[m]) end; if n <> 0 then begin { единицы } if flag then Write(' '); Write(me[n], ' '); case n of 1: Writeln(s1); 2..4: Writeln(s2); else Writeln( s3) end end else Writeln(' ', s3) end end end end.
Тестовое решение: Введите целое число от 1 до 1000: 314 триста четырнадцать рублей
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку