Дано целое число в диапазоне 100–999. Вывести строку-описание данного числа, например: 256 — «двести пятьдесят шесть», 814 — «восемьсот четырнадцать» — Pascal(Паскаль)

Program Case18;

var
  N: integer;
  temp, cout: integer;
  s: String;

begin
  repeat
    write('Введите число:');
    readln(N);
  until (N > 100) and (N < 999);
  temp := N div 100;
  case temp of
    1:
      s := 'сто ';
    2:
      s := 'двести ';
    3:
      s := 'триста ';
    4:
      s := 'четыреста ';
    5:
      s := 'пятьсот ';
    6:
      s := 'шестьсот ';
    7:
      s := 'семьсот ';
    8:
      s := 'восемьсот ';
    9:
      s := 'девятьсот ';
  end;
  if (((N mod 100) > 9) and ((N mod 100) < 20)) then
  begin
    case (N mod 100) of
      10:
        s := s + 'десять';
      11:
        s := s + 'одинадцать ';
      12:
        s := s + 'двенадцать ';
      13:
        s := s + 'тринадцать ';
      14:
        s := s + 'четырнадцать ';
      15:
        s := s + 'пятнадцать ';
      16:
        s := s + 'шестнадцать ';
      17:
        s := s + 'семнадцать ';
      18:
        s := s + 'восемнадцать ';
      19:
        s := s + 'девятнадцать ';
    end;
  end
  else
  begin
    case ((N mod 100) div 10) of
      2:
        s := s + 'двадцать ';
      3:
        s := s + 'тридцать ';
      4:
        s := s + 'сорок ';
      5:
        s := s + 'пятьдесят ';
      6:
        s := s + 'шестьдесят ';
      7:
        s := s + 'семьдесят ';
      8:
        s := s + 'восемьдесят ';
      9:
        s := s + 'девяносто ';
    end;
    case ((N mod 100) mod 10) of
      1:
        s := s + 'один';
      2:
        s := s + 'два';
      3:
        s := s + 'три';
      4:
        s := s + 'четыре';
      5:
        s := s + 'пять';
      6:
        s := s + 'шесть';
      7:
        s := s + 'семь';
      8:
        s := s + 'восемь';
      9:
        s := s + 'девять';
    end;
  end;
  writeln(s);

end.

Leave a Comment