Составьте алгоритм для определения количества цифр в записи произвольного натурального...

0 голосов
496 просмотров

Составьте алгоритм для определения количества цифр в записи произвольного натурального числа (для программы Паскаль)


Информатика (19 баллов) | 496 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

Если число произвольное, то оно может содержать произвольное количество цифр, большее нуля. Число считается натуральным, поэтому наложим на ввод ограничения: вводить нужно только цифры, а остальные знаки будут игнорироваться. В этом случае количество цифр в числе будет равно количеству введенных цифр. Число вводим, как символьную строку, а затем при подсчете цифр пропускаем все нецифровые символы.

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




(142k баллов)
0 голосов

Var x:integer;
begin
readln(x);
writeln(length(inttostr(x)))
end.

(5.2k баллов)
0

intToStr - только в Pascal.ABC, в прочих паскалях её нет.

0

В паскаль ABC тип integer = longint, но все равно при вводе чиcла, большего 2 147 483 647 "бомбочка" рванет...