Proc6. Описать процедуру DigitCountSum($$K$$, $$C$$, $$S$$), находящую количество $$C$$ цифр целого положительного числа $$K$$, а также их сумму $$S$$ ($$K$$ — входной, $$C$$ и $$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 29 |
program Proc6; procedure DigitCountSum(K:Integer; var C,S:Integer); var TempI:Integer; begin C:=0; S:=0; while (k<>0) do begin S:=S+(K mod 10); C:=C+1; K:=K div 10; end; end; var i,K,C,S:Integer; begin for i:=1 to 5 do begin Write('K: '); Readln(K); DigitCountSum(K,C,S); Writeln(C,' ',S); end; end. |
Другие задачи из раздела Proc можно посмотреть здесь.
Вариант со строкой
[/crayon]
Опять же должна быть процедура DigitCountSum(K, C, S), а не DigitCountSum().
и из за этого вариант со строкой выглядит не так привлекательно.