Записать программу выведения натурального числа N ( меньше =n меньше =9999) в его словесной записи.Например n=2345 - две тысячи триста пятдесят четыре

Записать программу выведения натурального числа N (<=n<=9999) в его словесной записи. Например n=2345 - две тысячи триста пятдесят четыре
Гость
Ответ(ы) на вопрос:
Гость
Я писала для n<=10000. Измените для своих данных.  Uses Crt;   var n:integer;       s1,s2,s3,s4,s5:string; begin   ClrScr;   writeln('введите натуральное число (n<=10000)');   readln(n);   if n>10000 then                begin                  writeln('неверный ввод');                  readln;                  exit;                end; {пятая цифра}     case n mod 10 of       1: s5:='один';       2: s5:='два';       3: s5:='три';       4: s5:='четыре';       5: s5:='пять';       6: s5:='шесть';       7: s5:='семь';       8: s5:='восемь';       9: s5:='девять';     end; {четвертая цифра}     if n div 10 mod 10=1 then {четвертая цифра - 1}       begin         s4:='';         case n mod 10 of           0: s5:='десять';           1: s5:='одиннадцать';           2: s5:='двенадцать';           3: s5:='тринадцать';           4: s5:='четырнадцать';           5: s5:='пятнадцать';           6: s5:='шестнадцать';           7: s5:='семнадцать';           8: s5:='восемнадцать';           9: s5:='девятнадцать';         end;       end     else {четвертая цифра не равна 1}       case n div 10 mod 10 of         2: s4:='двадцать';         3: s4:='тридцать';         4: s4:='сорок';         5: s4:='пятьдесят';         6: s4:='шестьдесят';         7: s4:='семьдесят';         8: s4:='восемьдесят';         9: s4:='девяносто';       end; {третья цифра}    if n div 100 mod 10=0 then s3:=''      else        case  n div 100 mod 10 of          1: s3:='сто';          2: s3:='двести';          3: s3:='триста';          4: s3:='четыреста';          5: s3:='пятьсот';          6: s3:='шестьсот';          7: s3:='семьсот';          8: s3:='восемьсот';          9: s3:='девятьсот';         end; {вторая цифра}    if n div 1000 mod 10=0 then s2:=''     else      case n div 1000 mod 10 of        1: s2:='одна тысяча';        2: s2:='две тысячи';        3: s2:='три тысячи';        4: s2:='четыре тысячи';        5: s2:='пять тысяч';        6: s2:='шесть тысяч';        7: s2:='семь тысяч';        8: s2:='восемь тысяч';        9: s2:='девять тысяч';      end;   if n div 10000 =1 then s1:='десять тысяч'                     else s1:='';   writeln(s1,' ',s2,' ',s3,' ',s4,' ',s5);   readln end.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы