Определить номер некоторой заданной цифры в числе, считая от конца числа - C (СИ)
Формулировка задачи:
Дано натуральное число. Определить номер некоторой заданной цифры в нём, считая от конца числа. Если такой цифры нет, ответом должно быть число 0; если таких цифр в числе несколько, должен быть определён номер самой правой из них.
Написать на Си
Решение задачи: «Определить номер некоторой заданной цифры в числе, считая от конца числа»
textual
Листинг программы
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int main () { long int n = 334752; //число int d = 3; //извлекаемая цифра int p = 1; int found = 0; while (n) { int digit = n%10; if (digit==d) { found=1; break; } n/=10; p++; } printf ("\n%d",found?p:0); getchar (); return 0; }
Объяснение кода листинга программы
- Установка флага _CRT_SECURE_NO_WARNINGS для подавления предупреждений безопасности
- Включение заголовочного файла stdio.h для использования функций ввода-вывода
- Объявление переменной n типа long int со значением 334752 - это число, в котором нужно найти заданную цифру
- Объявление переменной d типа int со значением 3 - это цифра, которую нужно найти в числе
- Объявление переменной p типа int со значением 1 - это номер позиции, с которой начинается поиск цифры в числе (с конца)
- Объявление переменной found типа int со значением 0 - это флаг, который будет установлен в 1, если заданная цифра найдена в числе
- В цикле while n больше 0 происходит поиск заданной цифры в числе
- Внутри цикла определяется переменная digit типа int, которая содержит последнюю цифру числа n
- Сравнивается digit с заданной цифрой d. Если они равны, то флаг found устанавливается в 1 и цикл прерывается
- Если digit не равно d, то число n делится на 10 для удаления последней цифры и получения следующего разряда
- При каждой итерации цикла значение переменной p увеличивается на 1, так как поиск идет с конца числа
- После окончания цикла выводится на экран значение переменной p через функцию printf, если заданная цифра найдена, и 0 в противном случае
- Для считывания символа с клавиатуры и завершения работы программы используется функция getchar
- Возврат 0 означает успешное завершение работы программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д