Даны три целых числа.Определите, у которого из них больше сумма цифр. Подсчет суммы цифр организуйте через подпрограмму.

Var a,b,c,m1,m2,m3,max:integer;
function sum(n:integer):integer;
var s:integer;
begin
s:=0;
n:=abs(n);
while n>0 do
begin
s:=s+n mod 10;
n:=n div 10;
end;
sum:=s;
end;
begin
write(‘a, b, c: ‘);
readln(a,b,c);
m1:=sum(a); m2:=sum(b); m3:=sum(c);
writeln(‘m1 = ‘,m1,’ m2 = ‘,m2,’ m3 = ‘,m3);
if m1>m2 then max:=m1 else max:=m2;
if m3>max then max:=m3;
writeln(‘max = ‘,max);
end.
Пример:
a, b, c: 45 -3549 138
m1 = 9 m2 = 21 m3 = 12
max = 21


// PascalABC.NET 3.2, сборка 1403 от 16.03.2017
// Внимание! Если программа не работает, обновите версию!
function SumDigits(n:integer):integer;
begin
Result:=0;
while n>0 do begin
Result+=n mod 10;
n:=n div 10
end
end;
begin
var s:=ReadArrInteger(‘Вводите:’,3).Select(x->SumDigits(x)).ToArray;
var i:=s.IndexMax;
var k:=s.Where(x->x=s[i]).Count;
case k of
1:begin
Write(‘Сумма цифр наибольшая у ‘);
case i of
0:Write(‘первого’);
1:Write(‘второго’);
2:Write(‘третьего’);
end;
Writeln(‘ числа’)
end;
2:begin
Write(‘Сумма цифр наибольшая у ‘);
if s[0]=s[1] then Writeln(‘первого и второго чисел’)
else
if s[0]=s[2] then Writeln(‘первого и третьего чисел’)
else Writeln(‘второго и третьего чисел’)
end;
3:Writeln(‘Суммы цифр у всех трех чисел равны’)
end
end.
Примеры
Вводите: 102030 324 19
Сумма цифр наибольшая у третьего числа
Вводите: 16453 4320 56341
Сумма цифр наибольшая у первого и третьего чисел
Даны три целых числа. Определите, у которого из них больше сумма цифр. Подсчет суммы цифр организуйте через подпрограмму
Как быстро выучить стихотворение наизусть? Запоминание стихов является стандартным заданием во многих школах.
Как научится читать по диагонали? Скорость чтения зависит от скорости восприятия каждого отдельного слова в тексте.
Как быстро и эффективно исправить почерк? Люди часто предполагают, что каллиграфия и почерк являются синонимами, но это не так.
Как научится говорить грамотно и правильно? Общение на хорошем, уверенном и естественном русском языке является достижимой целью.
Учитель информатики
Сайт учителя информатики. Технологические карты уроков, Подготовка к ОГЭ и ЕГЭ, полезный материал и многое другое.
Даны три целых числа. Определите, у которого из них больше сумма цифр. Подсчет суммы цифр организуйте через подпрограмму.
Даны три целых числа. Определите, у которого из них больше сумма цифр. Подсчет суммы цифр организуйте через подпрограмму.
Ответ
Var a,b,c,m1,m2,m3,max:integer;
function sum(n:integer):integer;
var s:integer;
begin
s:=0;
n:=abs(n);
while n>0 do
begin
s:=s+n mod 10;
n:=n div 10;
end;
sum:=s;
end;
begin
write(‘a, b, c: ‘);
readln(a,b,c);
m1:=sum(a); m2:=sum(b); m3:=sum(c);
writeln(‘m1 = ‘,m1,’ m2 = ‘,m2,’ m3 = ‘,m3);
if m1>m2 then max:=m1 else max:=m2;
if m3>max then max:=m3;
writeln(‘max = ‘,max);
end.
Пример:
a, b, c: 45 -3549 138
m1 = 9 m2 = 21 m3 = 12
max = 21