Вопрос задан 03.09.2026 в 15:22. Предмет Информатика. Спрашивает Тимишева Ярослава.

C++ (оператор множественного выбора switch)

Написать программу, в которой пользователь вводит целое число k, а на экран выдаётся фраза «Мы нашли k грибов в лесу», согласовав окончание слова «гриб» с числом k.

Перейти к ответам

Ответы на вопрос

Отвечает Володина Ирина.

В русском языке окончание слова «гриб» зависит от последней цифры числа, но числа 11, 12, 13, 14 являются исключениями:

  • 1 гриб: 1, 21, 31, 41…

  • 2, 3, 4 гриба: 2, 3, 4, 22, 23, 24…

  • 5–20 грибов, а также числа, заканчивающиеся на 0, 5, 6, 7, 8, 9.

Для выбора окончания удобно использовать оператор switch.

C++
#include 
#include 
using namespace std;

int main() { int k; cout << "Введите количество грибов: "; cin >> k;

int n = abs(k);

cout << "Мы нашли " << k << " ";

// Проверяем исключения: 11, 12, 13, 14 if (n % 100 >= 11 && n % 100 <= 14) { cout << "грибов"; } else { switch (n % 10) { case 1: cout << "гриб"; break;

case 2: case 3: case 4: cout << "гриба"; break;

default: cout << "грибов"; } }

cout << " в лесу." << endl;

return 0; }

Здесь n % 10 определяет последнюю цифру числа. Например, для 23 получаем 3, поэтому выводится «23 гриба». Однако одной последней цифры недостаточно: например, 11 заканчивается на 1, но правильно говорить не «11 гриб», а «11 грибов». Поэтому перед switch отдельно проверяется диапазон от 11 до 14 по двум последним цифрам.

Примеры работы программы:

Введите количество грибов: 1
Мы нашли 1 гриб в лесу.

Введите количество грибов: 3 Мы нашли 3 гриба в лесу.

Введите количество грибов: 8 Мы нашли 8 грибов в лесу.

Введите количество грибов: 21 Мы нашли 21 гриб в лесу.

Введите количество грибов: 34 Мы нашли 34 гриба в лесу.

Введите количество грибов: 112 Мы нашли 112 грибов в лесу.

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос