Опубликовано 03.01.2018 по предмету Информатика от Гость

Записать программу выведения натурального числа 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.




Не нашел нужный ответ?

Если ответ по предмету Информатика отсутствует или он оказался неправильным, то попробуй воспользоваться поиском других ответов во всей базе сайта.


Найти другие ответы
Самые новые вопросы