Case17. Дано целое число в диапазоне 10–40, определяющее количество учебных заданий по некоторой теме. Вывести строку-описание указанного количества заданий, обеспечив правильное согласование числа со словами «учебное задание», например: 18 — «восемнадцать учебных заданий», 23 — «двадцать три учебных задания», 31 — «тридцать одно учебное задание».
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
program Case17; var N:Integer; begin Write('Кол-во: '); Readln(N); if (N div 10) = 1 then begin case N of 10:write('десять учебных заданий. '); 11:write('одинадцать учебных заданий.'); 12:write('двенадцать учебных заданий.'); 13:write('тринадцать учебных заданий.'); 14:write('четырнадцать учебных заданий.'); 15:write('пятнадцать учебных заданий.'); 16:write('шестнадцать учебных заданий.'); 17:write('семнадцать учебных заданий.'); 18:write('восемнадцать учебных заданий.'); 19:write('девятнадцать учебных заданий.'); end; end else begin case N div 10 of 2:write('двадцать '); 3:write('тридцать '); 4:write('сорок '); end; case N mod 10 of 1:write('одно '); 2:write('два '); 3:write('три '); 4:write('четыре '); 5:write('пять '); 6:write('шесть '); 7:write('семь '); 8:write('восемь '); 9:write('девять '); end; case N mod 10 of 0,5,6,7,8,9:write('учебных заданий.'); 1:write('учебное задание.'); 2,3,4:write('учебных задания.'); end; end; end. |
Другие задачи из раздела Case можно посмотреть здесь.
В последнем case 7,8 перенести к заданий. Либо вообще объединить с предыдущим
[/crayon]
Поправил.
Было:
Стало: