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

setkrokol setkrokol    2   23.05.2020 13:16    0

Ответы
Mist3YT Mist3YT  15.10.2020 06:59

program z1;

var a,k,s: integer;

begin

write ('a = ');

readln (a);

s:=0;

k:=0;

repeat

s:=s+a mod 10;

k:=k+1;

a:=a div 10

until a=0;

writeln('s = ',s);

writeln('k = ',k)

end.

ПОКАЗАТЬ ОТВЕТЫ
ksusha25night ksusha25night  15.10.2020 06:59
                                     PascalABC.NET                                       beginvar s := ReadReal('Число:').ToString.Remove('.','-');Println('Сумма:',s.ToArray.ConvertAll(c->c.ToDigit).Sum);Println('Разрядов:',s.Count);end.

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

Пример работы:


Вывести на экран сумму цифр введенного пользователем числа(дополнительно: вывести количество разрядо
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика