ввести 3-х значное число , вывести сумму его цифр ( паскаль)
Answers & Comments
cepera1409Program summa_4isel; Uses crt; Var a,e,z,y,x:integer; Begin Writeln('Введите трехзначное число'); Readln(a); x:=a div 100; y:=(a-x*100) div 10; z:=a-y*10-x*100; e:=x+y+z; writeln('Сумма чисел ',x,' ',y,' и ',z,' равна ',e,'.'); end.
В задаче переменными обозначены: a-трехзначное число e-сумма чисел x, y и z - первое, второе и третье число соответственно.
p.s. Uses crt; можно удалить. Но не желательно.
8 votes Thanks 17
egorkapomidorka7
А объяснить можно пожалуйста , как ты находишь x,y,z
cepera1409
смотри, оператор div- делит число, и выводит целую часть, округляя в меньшую сторону, т.е. выводит целую часть.
cepera1409
например, берем число 476 и делим на 100 (в паскале- 476 div 100). мы получим 4,76. Выделим целую часть-4. Это количество сотен.
cepera1409
например, берем число 476 и делим на 100 (в паскале- 476 div 100). мы получим 4,76. Выделим целую часть-4. Это количество сотен. Далее найдем десятки. из изначального числа вычтем сотни (a-x*100) и получившееся двухзначное число поделим на 10, тем самым выделим целую часть ( (a-x*100) div 10) Затем аналогично поступим с единицами. Из изначального числа вычтем сотни (x*100) и затем десятки (y*10) и получим количество единиц. (z:=a-y*10-x*100).
Answers & Comments
Uses crt;
Var a,e,z,y,x:integer;
Begin
Writeln('Введите трехзначное число');
Readln(a);
x:=a div 100;
y:=(a-x*100) div 10;
z:=a-y*10-x*100;
e:=x+y+z;
writeln('Сумма чисел ',x,' ',y,' и ',z,' равна ',e,'.');
end.
В задаче переменными обозначены:
a-трехзначное число
e-сумма чисел
x, y и z - первое, второе и третье число соответственно.
p.s. Uses crt; можно удалить. Но не желательно.
Далее найдем десятки. из изначального числа вычтем сотни (a-x*100) и получившееся двухзначное число поделим на 10, тем самым выделим целую часть ( (a-x*100) div 10)
Затем аналогично поступим с единицами. Из изначального числа вычтем сотни (x*100) и затем десятки (y*10) и получим количество единиц. (z:=a-y*10-x*100).