Дано некоторое натуральное число. Найти в нем цифру, что стоит на к-й позиции. - C (СИ)
Формулировка задачи:
Дано некоторое натуральное число. Найти в нем цифру, что стоит на к-й позиции.
Решение задачи: «Дано некоторое натуральное число. Найти в нем цифру, что стоит на к-й позиции.»
textual
Листинг программы
- #include <stdio.h>
- #include <math.h>
- int main() {
- int number, k;
- printf("Enter the number: ");
- scanf("%d", &number);
- printf("Enter position: ");
- scanf("%d", &k);
- int nDigits = floor(log10(abs(number))) + 1;
- if (nDigits >= k) {
- printf("%d\n", number / (int)pow(10, nDigits - k) % 10);
- }
- return 0;
- }
Объяснение кода листинга программы
В этом коде:
- Введены две переменные:
number
- для хранения введенного числа;k
- для хранения позиции цифры в числе.
- Пользователю предлагается ввести число и позицию.
- Вычисляется количество цифр в числе (nDigits).
- Используется функция
log10
из библиотекиmath.h
для вычисления логарифма числа по основанию 10. - К результату прибавляется 1, чтобы учесть ноль в числе.
- Используется функция
- Проверяется, что позиция не превышает количество цифр в числе.
- Вычисляется цифра на заданной позиции (number / (int)pow(10, nDigits - k) % 10).
number
делится наpow(10, nDigits - k)
, чтобы получить цифру, стоящую на позицииk
.- Результат берется по модулю 10, чтобы получить нужную цифру.
- Выводится найденная цифра.
- Завершается выполнение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д