Определить номер некоторой заданной цифры в числе, считая от конца числа - 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;
}

Объяснение кода листинга программы

  1. Установка флага _CRT_SECURE_NO_WARNINGS для подавления предупреждений безопасности
  2. Включение заголовочного файла stdio.h для использования функций ввода-вывода
  3. Объявление переменной n типа long int со значением 334752 - это число, в котором нужно найти заданную цифру
  4. Объявление переменной d типа int со значением 3 - это цифра, которую нужно найти в числе
  5. Объявление переменной p типа int со значением 1 - это номер позиции, с которой начинается поиск цифры в числе (с конца)
  6. Объявление переменной found типа int со значением 0 - это флаг, который будет установлен в 1, если заданная цифра найдена в числе
  7. В цикле while n больше 0 происходит поиск заданной цифры в числе
  8. Внутри цикла определяется переменная digit типа int, которая содержит последнюю цифру числа n
  9. Сравнивается digit с заданной цифрой d. Если они равны, то флаг found устанавливается в 1 и цикл прерывается
  10. Если digit не равно d, то число n делится на 10 для удаления последней цифры и получения следующего разряда
  11. При каждой итерации цикла значение переменной p увеличивается на 1, так как поиск идет с конца числа
  12. После окончания цикла выводится на экран значение переменной p через функцию printf, если заданная цифра найдена, и 0 в противном случае
  13. Для считывания символа с клавиатуры и завершения работы программы используется функция getchar
  14. Возврат 0 означает успешное завершение работы программы

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.333 из 5
Похожие ответы