Задать вопрос
29 марта, 00:11

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

Например n=2345 - две тысячи триста пятдесят четыре

+1
Ответы (1)
  1. 29 марта, 01:39
    0
    Я писала для 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.
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Записать программу выведения натурального числа N ( ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы