Пример1: Введите Ваш возраст:
17
Вам 17 лет
Пример2: Введите Ваш возраст:
21
Вам 21 год
Указание: ни в коем случае не перечислять все 100 возможных значений, унифицировать значения с помощью вычисления остатка.
uses crt;
var st:string;
n:byte;
begin
clrscr;
repeat
write('Введите число от 0 до 100 n = ');
readln(n);
until n in [0..100];
st:='';
case n of
100:st:='сто';
0:st:='ноль';
1:st:='один';
2:st:='два';
3:st:='три';
4:st:='четыре';
5:st:='пять';
6:st:='шесть';
7:st:='семь';
8:st:='восемь';
9:st:='девять';
10..19: case n of
10:st:='десять';
11:st:='одиннадцать';
12:st:='двенадцать';
13:st:='тринадцать';
14:st:='четырнадцать';
15:st:='пятндцать';
16:st:='шестнадцать';
17:st:='семнадцать';
18:st:='восемнадцать';
19:st:='девятнадцать';
end;
20..99: begin
case n div 10 of
2:st:='двадцать';
3:st:='тридцать';
4:st:='сорок';
5:st:='пятьдесят';
6:st:='шестьдесят';
7:st:='семьдесят';
8:st:='восемьдесят';
9:st:='девяносто';
end;
case n mod 10 of
1:st:=st+' один';
2:st:=st+' два';
3:st:=st+' три';
4:st:=st+' четыре';
5:st:=st+' пять';
6:st:=st+' шесть';
7:st:=st+' семь';
8:st:=st+' восемь';
9:st:=st+' девять';
end;
end;
end;
case n of
11..19:st:=st+' лет';
else
case n mod 10 of
0,5..9:st:=st+' лет';
1:st:=st+' год';
2..4:st:=st+' года';
end;
end;
writeln(st);
readln;
end.
Следующий вариант
case n of
11..19:st:=st+' лет';
else
case n mod 10 of
0,5..9:st:=st+' лет';
1:st:=st+' год';
2..4:st:=st+' года';
end;
end;