Определить, сколько цифр содержит вводимое натуральное число N - C (СИ)
Формулировка задачи:
Помогите пожалуйста)
Решение задачи: «Определить, сколько цифр содержит вводимое натуральное число N»
textual
Листинг программы
#include <stdio.h>
int digits_count(unsigned number) {
int digits = 1;
while ( number /= 10 )
++digits;
return digits;
}
int main(void) {
unsigned n;
while ( printf("Number: ") && scanf("%u", &n) == 1 )
printf("%d digit(s).\n", digits_count(n));
return 0;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с файлами и математическими операциями.
- Определение функции
digits_count, которая принимает целое число и возвращает количество цифр в числе. Реализована с помощью циклаwhile, который выполняется до тех пор, пока число не станет однозначным. - В каждой итерации цикла значение числа делится на 10 и результат сохраняется в переменной
digits, которая инициализируется единицей. - После окончания цикла функция возвращает значение переменной
digits. - Определение функции
main, которая является точкой входа в программу. В ней используется циклwhile, который выполняется до тех пор, пока пользователь не введет ноль. - В каждой итерации цикла пользователю предлагается ввести число и сохраняется в переменной
n. - После успешного ввода числа вызывается функция
digits_countс аргументомn, и результат выводится на экран с помощью функцииprintf. - После каждой итерации цикла программа предлагает пользователю ввести новое число.
- По завершении цикла программа возвращает 0, что означает успешное завершение работы.