Помогите с программированием

Помогите с программированием.
Была задача - Ввести целое число, узнать сколько знаков в числе и каждый знак вывести.

чтобы вывести количество знаков в числе я написал что-то подобное
program dz;
var b, a: longint;
c: integer;
begin
writeln('Введіть A='); readln(a);
b:=a; c:=0;
while b <>0 do
begin
c:=c+1; b:= b div 10;
end;
writeln('B числi ',a,'- ',c, ' цифр!');
readln;
end.

и ничего не могу придумать по поводу выделения каждого знака числа( помогите.

  • var s:string;
    writeln ('до запятухи');
    for I:=0 to length(s) do
    if s [ i ] = ',' or s [ i ]='.'
    writeln ('до запятухи');
    else
    writeln (s [ i ]);
  • while b <>0 do
    begin
    c:=c+1;
    writeln(b mod 10);
    b:= b div 10;
    end;
  • Твоя прога впринцепе рабочая.
    Я не помни ничего по паскалю, поэтому скажу только алгоритм по строкам.
    Разница только в том чтобы ты считывал не число с строки а символьную строку
    1) если число начинаеться с буквы, сразу выводишь на повторный ввод.
    2) если число начинаеться с символа + или - а после него нету цифры от 0 до 9 то сново в повтор.
    3) если число имеет знак " . " то после должны быть только цифры.
    Как только всё это реализованно у тебя есть своя собственная функция ввода сообщения без прерывания программы.
    3-4 часа мучений сейчас помогут тебе впредь просто подключать свою библиотекц функций.
    Правда в паскале наврядли, но перенести на яву и си алгоритм проше простого.

    ЗЫ условие счёта просто - длина строки.