Напишите программу ,которая вводит целое число ,не превышающее 100,и выводит его прописью,например:21>"Двадцать один"

1

Ответы и объяснения

2014-02-17T22:17:24+04:00
Program abc;
var
a,b,c,t,z:integer;
m,k,l:string;
label 1,2,3,4;
begin
writeln ('Введите число от 1-го до 100');
repeat read(a) until (a>=0)and(a<=100);
b:=a div 10;
c:=a mod 10;
if a=100 then goto 2;
if a=0 then goto 1;
if (a>9) and (a<20) then goto 4;
case b of
2:m:='Двадцать ';
3:m:='Тридцать ';
4:m:='Сорок ';
5:m:='Пятьдесят ';
6:m:='Шестдесят ';
7:m:='Семдесят ';
8:m:='Восемьдесят ';
9:m:='Девяносто '; end;
case c of
1:k:='один';
2:k:='два';
3:k:='три';
4:k:='четыре';
5:k:='пять';
6:k:='шесть';
7:k:='семь';
8:k:='восемь';
9:k:='девять';
end;
writeln (m,k);
goto 3;
2:writeln ('Сто');
goto 3;
1: writeln ('Ноль');
goto 3;
4: if a=10 then writeln ('Десять');
if a=11 then writeln ('Одиннадцать');
if a=12 then writeln ('Двенадцать');
if a=13 then writeln ('Тринадцать');
if a=14 then writeln ('Четырнадцать');
if a=15 then writeln ('Пятьнадцать');
if a=16 then writeln ('Шестнадцать');
if a=17 then writeln ('Семнадцать');
if a=18 then writeln ('Восемнадцать');
if a=19 then writeln ('Девятнадцать');
3:end.
Это правильно??
А нет. Не выводит числа от 10-и до 20-и. Сейчас подправлю.
Подправил. Немного на разумно, конечно, но в целом, это не 100 условных операторов XD.
щас то нормально?
Сейчас отлично, уверяю :)