Паскаль. С клавиатуры вводится целое число от 1 до 1000, обозначающая сумму в рублях

Паскаль. С клавиатуры вводится целое число от 1 до 1000, обозначающая сумму в рублях. Программа должна напечатать эту сумму прописью. Учусь в школе, так что нужно использовать не сложные программы, которые не напичканы всякими flag,string,boolean и т.д.
Гость
Ответ(ы) на вопрос:
Гость
Var n,t,s,d,e:integer; begin writeln(''); repeat writeln('Введите сумму в рублях<=1000'); readln(n); until (n>0) and (n<=1000); t:=n div 1000; n:=n-t*1000; s:=n div 100; n:=n-s*100; d:=n div 10; if d<>1 then begin n:=n-d*10; e:=n; end; case t of      1:write('тысяча '); end; if s>=0 then case s of      1:write('сто ');      2:write('двести ');      3:write('триста ');      4:write('четыресто ');      5:write('пятьсот ');      6:write('шестьсот ');      7:write('семьсот ');      8:write('восемьсот ');      9:write('девятьсот '); end; if d>=0 then case d of      1:      case n of      10: write('десять ');      11: write('одиннадцать ');      12: write('двенадцать ');      13: write('тринадцать ');      14: write('четырнадцать ');      15: write('пятнадцать ');      16: write('шестнадцать ');      17: write('семнадцать ');      18: write('восемнадцать ');      19: write('девятнадцать ');      end;      2:write('двадцать ');      3:write('тридцать ');      4:write('сорок ');      5:write('пятьдесят ');      6:write('шестьдесят ');      7:write('семьдесят ');      8:write('восемьдесят ');      9:write('девяносто '); end; if e>=0 then case e of      1:write('один ');      2:write('два ');      3:write('три ');      4:write('четыре ');      5:write('пять ');      6:write('шесть ');      7:write('семь ');      8:write('восемь ');      9:write('девять '); end; if (e=1) then write('рубль ') else if (e=0)or(e>4) then write('рублей ') else write('рубля '); end.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы