Если число произвольное, то оно может содержать произвольное количество цифр, большее нуля. Число считается натуральным, поэтому наложим на ввод ограничения: вводить нужно только цифры, а остальные знаки будут игнорироваться. В этом случае количество цифр в числе будет равно количеству введенных цифр. Число вводим, как символьную строку, а затем при подсчете цифр пропускаем все нецифровые символы.
const
digits=['0','1','2','3','4','5','6','7','8','9'];
var
s:string;
i,k:integer;
begin
Write('Введите произвольное натуральное число: ');
Readln(s);
k:=0;
for i:=1 to Length(s) do
if s[i] in digits then Inc(k);
Writeln('Количество цифр в числе равно ',k)
end.
Тестовые решения:
Введите произвольное натуральное число: -43546543235.08754
Количество цифр в числе равно 16
Введите произвольное натуральное число: 96435034623
Количество цифр в числе равно 11
Введите произвольное натуральное число: И даже так: -43 323 453.657 4 посчитает!
Количество цифр в числе равно 12