Дано некоторое натуральное число. Найти в нем цифру, что стоит на к-й позиции. - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Дано некоторое натуральное число. Найти в нем цифру, что стоит на к-й позиции.

Решение задачи: «Дано некоторое натуральное число. Найти в нем цифру, что стоит на к-й позиции.»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. int main() {
  5.  
  6.     int number, k;
  7.     printf("Enter the number: ");
  8.     scanf("%d", &number);
  9.     printf("Enter position: ");
  10.     scanf("%d", &k);
  11.  
  12.     int nDigits = floor(log10(abs(number))) + 1;
  13.  
  14.     if (nDigits >= k) {
  15.             printf("%d\n", number / (int)pow(10, nDigits - k) % 10);
  16.     }
  17.  
  18.     return 0;
  19. }

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

В этом коде:

  1. Введены две переменные:
    • number - для хранения введенного числа;
    • k - для хранения позиции цифры в числе.
  2. Пользователю предлагается ввести число и позицию.
  3. Вычисляется количество цифр в числе (nDigits).
    • Используется функция log10 из библиотеки math.h для вычисления логарифма числа по основанию 10.
    • К результату прибавляется 1, чтобы учесть ноль в числе.
  4. Проверяется, что позиция не превышает количество цифр в числе.
  5. Вычисляется цифра на заданной позиции (number / (int)pow(10, nDigits - k) % 10).
    • number делится на pow(10, nDigits - k), чтобы получить цифру, стоящую на позиции k.
    • Результат берется по модулю 10, чтобы получить нужную цифру.
  6. Выводится найденная цифра.
  7. Завершается выполнение программы.

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


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

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

11   голосов , оценка 3.727 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы