Правильно написать окончание слова рубль - C (СИ)
Формулировка задачи:
Нужно написать программу, что бы правильно склонялось слово рубль (10 рублей, 22 рубля, ну и т.д.). Для реализации основной задачи желательно использовать конструкцию switch-case-defaul. Подскажите пожалуйста как это лучше реализовать, в голову ничего не приходит.
Решение задачи: «Правильно написать окончание слова рубль»
textual
Листинг программы
char *p; k = n%100; if (k%10==0 || (k>=11 && k<20) || k%10 >=5) p = "ей"; else if (k%10==1) p = "ь"; else p = "я"; printf("%d рубл%s", n, p);
Объяснение кода листинга программы
В этом коде:
- Объявлена переменная
p
типаchar*
(строка символов) и инициализирована значениемрубль
. - Затем вычисляется значение переменной
k
как остаток от деления числаn
на 100. - Далее выполняется проверка: если
k
делится на 10 без остатка (k%10==0
), илиk
находится в диапазоне от 11 до 19 ((k>=11 && k<20)
), или остаток от деленияk
на 10 больше или равен 5 (k%10 >=5
), то переменнойp
присваивается значениеей
. - Если
k
равно 1, то переменнойp
присваивается значениеь
. - В противном случае переменной
p
присваивается значениея
. - И наконец, с помощью функции
printf()
выводится строка, состоящая из числаn
, за которым следует символ рубля (%s) и значение переменнойp
. Код выполняет функцию формирования окончания словарубль
в зависимости от последней цифры числа.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д