Определить, имеется ли в записи числа N цифра «2» - C (СИ)
Формулировка задачи:
Помогите решить пожалуйста, 4 задача цикл while
4) Дано целое число N (>0). С помощью операций деления нацело и взятия остатка
от деления определить, имеется ли в записи числа N цифра «2». Если имеется, то
вывести TRUE, если нет — вывести FALSE.
Решение задачи: «Определить, имеется ли в записи числа N цифра «2»»
textual
Листинг программы
#include <stdio.h> int main() { int n; if (scanf("%d", &n) != 1 || n <= 0) { return -1; } while (n != 0 && n % 10 != 2) { n /= 10; } if (n == 0) { puts("FALSE"); } else { puts("TRUE"); } return 0; }
Объяснение кода листинга программы
В этом коде:
- Объявлена переменная
n
типаint
, которая будет использоваться для хранения числа, вводимого пользователем. - При помощи функции
scanf
вводится число и сохраняется в переменнойn
. - Производится проверка корректности ввода: если число не введено или введено некорректное значение (меньше или равно нулю), то программа возвращает -1.
- Если ввод корректен, то начинается цикл, который будет искать в числе цифру 2.
- В каждой итерации цикла число делится на 10 и проверяется остаток от деления на 2. Если остаток от деления не равен 2, то цикл продолжается.
- Если в числе не осталось ни одной цифры, то это означает, что число не содержит цифры 2, и программа выводит
FALSE
. - Если в числе осталась цифра 2, то программа выводит
TRUE
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д