Определить, имеется ли в записи числа 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.