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

begin
  clrscr;
  write('wwedite chislo: ');
  readln(n);
  while n>0 do
  begin
    inc(j);
    k:=i;
    i:=n mod 10;
    n:=n div 10;
    case j of
      1: case i of
           1..9: st:=a[i]+st;
         end;
      2: case i of
           0:;
           1: case k of
                1..9: begin
                        st:='';
                        st:=d[k]+' '+st;
                      end;
              end;
           2..9: st:=b[i]+' '+st;
         end;
      3: case i of
           1..9: st:=c[i]+' '+st;
         end;
    end;
  end;
  write(st);
  readkey;
end.

Вариант 2

program proba;
var i:integer;s,d,e:string;
begin
repeat
write('Vvedite chislo ');
readln(i);
until (i>100) and (i<999);
case i div 100 of
1:s:='sto';
2:s:='dvesti';
3:s:='trista';
4:s:='chetiresta';
5:s:='peatsot';
6:s:='sestsot';
7:s:='semisot';
8:s:='vosemisot';
9:s:='deveatsot';
end;
if (i mod 100 <20) and (i mod 100>=11) then
case i mod 100 of
11:d:='odinadtsati';
12:d:='dvenadtsati';
13:d:='trinadtsati';
14:d:='cetirnadtsati';
15:d:='peatnadtsati';
16:d:='setnadtsati';
17:d:='semnadtsati';
18:d:='vosemnadtsati';
19:d:='deveatnadstati';
end
else
begin
case (i div 10) mod 10 of
2:d:='dvadtsati';
3:d:='tridsati';
4:d:='soroc';
5:d:='peatideseat';
6:d:='sestideseat';
7:d:='semideseat';
8:d:='vosemideseat';
9:d:='deveanosto';
else
d:='deseati';
end;
case i mod 10 of
1:e:='odin';
2:e:='dva';
3:e:='tri';
4:e:='chetire';
5:e:='peati';
6:e:='sesti';
7:e:='semi';
8:e:='vosemi';
9:e:='deveati';
end;
end;
writeln(s,' ',d,' ',e);
readln;
end.

Leave a Comment

7 + 2 =