Как оператор switch превратить в оператор if - C (СИ)
Формулировка задачи:
Здравствуйте! Есть вот такая задачка:
Для целого числа K (от 1 до 99 включительно) напечатать фразу «Мне K лет», учитывая при этом, что при некоторых значениях K
слово «лет» надо заменить на слово «год» или «года». Например, 11 лет, 22 года, 51 год.
Входные данные: Одно целое число K
, 1≤k≤99
Выходные данные: Фраза с правильным окончанием
Подсказки:
Не нужно писать switch с 99 ветками case. Работать, конечно, будет, но лучше подумать головой.
Окончание почти всегда зависит только от последней цифры числа
Используйте вложенные switch
Sample Input:
11
Sample Output:
Мне 11 лет
При помощи оператора компилятор не принимает.
if
я знаю как ее решить. Вопрос как сделать ее с помощью оператораswitch
Конструкцию типа:switch(age > 1 && age < 5) { case 1: printf("Мне %d года", age); break; }
Решение задачи: «Как оператор switch превратить в оператор if»
textual
Листинг программы
#include <stdio.h> int main(void) { int age, a; scanf("%d", &age); a = age % 10; switch (age){ case 11 : case 12 : case 13 : case 14 :printf("Мне %d лет\n", age); break; default: switch (a){ case 1:printf("Мне %d год\n", age); break; case 2: case 3: case 4:printf("Мне %d года\n", age); break; case 5: default :printf("Мне %d лет\n", age); break; } } return 0; } Но за идею, все равно спасибо!
Объяснение кода листинга программы
Код выполняет следующие действия:
- Объявляет переменные age и a типа int.
- Считывает значение переменной age с помощью функции scanf.
- Вычисляет значение переменной a как остаток от деления age на 10.
- Использует оператор switch для проверки значения переменной age.
- Если значение age равно 11, 12, 13 или 14, выводит сообщение
Мне 14 лет
и прерывает выполнение оператора switch с помощью оператора break. - Если значение переменной age не равно ни одному из указанных значений, переходит к следующему оператору switch для проверки значения переменной a.
- Если значение переменной a равно 1, выводит сообщение
Мне 14 лет
и прерывает выполнение оператора switch с помощью оператора break. - Если значение переменной a равно 2, 3 или 4, выводит сообщение
Мне 14 лет
и прерывает выполнение оператора switch с помощью оператора break. - Если значение переменной a равно 5 или не соответствует ни одному из указанных значений, выводит сообщение
Мне 14 лет
и прерывает выполнение оператора switch с помощью оператора break. - Возвращает 0, завершая выполнение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д