Дано целое число в диапазоне 100 999

  • 10 October 2013
  • Ответ оставил: BlackW1nd

Больше мороки чем сложности.

Type int=100..999;
Var x:int;
Begin
readln(x);
case (x div 100) of
1:write(‘Сто ‘);
2:write(‘Двести ‘);
3:write(‘Триста ‘);
4:write(‘Четыреста ‘);
5:write(‘Пятьсот ‘);
6:write(‘Шестьсот ‘);
7:write(‘Семьсот ‘);
8:write(‘Восемьсот ‘);
9:write(‘Девятьсот ‘);
end;
if ((x mod 100) div 10)=1 then
case (x mod 10) of
0:write(‘десять ‘);
1:write(‘одиннадцать ‘);
2:write(‘двенадцать ‘);
3:write(‘тринадцать ‘);
4:write(‘четырнадцать ‘);
5:write(‘пятнадцать ‘);
6:write(‘шестнадцать ‘);
7:write(‘семнадцать ‘);
8:write(‘восемнадцать ‘);
9:write(‘девятнадцать ‘);
end
else
begin
case ((x mod 100) div 10) of
2:write(‘двадцать ‘);
3:write(‘тридцать ‘);
4:write(‘сорок ‘);
5:write(‘пятьдесят ‘);
6:write(‘шестьдесят ‘);
7:write(‘семьдесят ‘);
8:write(‘восемьдесят ‘);
9:write(‘девяносто ‘);
end;
case (x mod 10) of
1:write(‘один’);
2:write(‘два’);
3:write(‘три’);
4:write(‘четыре’);
5:write(‘пять’);
6:write(‘шесть’);
7:write(‘семь’);
8:write(‘восемь’);
9:write(‘девять’);
end;
end;
End.

Ответ

Больше мороки чем сложности.

Type int=100..999;
Var x:int;
Begin
readln(x);
case (x div 100) of
1:write(‘Сто ‘);
2:write(‘Двести ‘);
3:write(‘Триста ‘);
4:write(‘Четыреста ‘);
5:write(‘Пятьсот ‘);
6:write(‘Шестьсот ‘);
7:write(‘Семьсот ‘);
8:write(‘Восемьсот ‘);
9:write(‘Девятьсот ‘);
end;
if ((x mod 100) div 10)=1 then
case (x mod 10) of
0:write(‘десять ‘);
1:write(‘одиннадцать ‘);
2:write(‘двенадцать ‘);
3:write(‘тринадцать ‘);
4:write(‘четырнадцать ‘);
5:write(‘пятнадцать ‘);
6:write(‘шестнадцать ‘);
7:write(‘семнадцать ‘);
8:write(‘восемнадцать ‘);
9:write(‘девятнадцать ‘);
end
else
begin
case ((x mod 100) div 10) of
2:write(‘двадцать ‘);
3:write(‘тридцать ‘);
4:write(‘сорок ‘);
5:write(‘пятьдесят ‘);
6:write(‘шестьдесят ‘);
7:write(‘семьдесят ‘);
8:write(‘восемьдесят ‘);
9:write(‘девяносто ‘);
end;
case (x mod 10) of
1:write(‘один’);
2:write(‘два’);
3:write(‘три’);
4:write(‘четыре’);
5:write(‘пять’);
6:write(‘шесть’);
7:write(‘семь’);
8:write(‘восемь’);
9:write(‘девять’);
end;
end;
End.

Создаёшь массив констант с сотнями, десятками и единицами.
К примеру так:
const arr :array[0..9] of string=(», ‘сто ‘, ‘двести’, ..и т. д.);

Берёшь число, забираешь его по цифрам
b:=(x mod 1000) div 100;
c:=(x mod 100) div 10;
d:=x mod 10;

А затем выводишь по очереди.
arr[a], arr[b], arr[c]

где a,b,c это значение сотен, десяток и единиц соответственно.


[an error occurred while processing the directive]
Карта сайта