Recur12. Описать рекурсивную функцию DigitCount($$S$$) целого типа, которая находит количество цифр в строке $$S$$, не используя оператор цикла. С помощью этой функции найти количество цифр в каждой из пяти данных строк.
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
program Recur12; var S:String; i:integer; Function DigitCount(S:String):integer; begin if length(S)<=0 then DigitCount:=0 else if (S[1] in ['0'..'9']) then begin Delete(S,1,1); DigitCount:=1+DigitCount(S); end else begin Delete(S,1,1); DigitCount:=DigitCount(S); end; end; begin for i:=1 to 5 do begin Write('S: '); Readln(S); Writeln(DigitCount(S)); end; end. |
Другие задачи из раздела Recur можно посмотреть здесь.
Комментарии: