Найти число единиц в введённом числе - Turbo Pascal
Формулировка задачи:
Требуется написать программу, которая находит число единиц в введённом числе.
Где ошибка и как её исправить?
Решение задачи: «Найти число единиц в введённом числе»
textual
Листинг программы
var
n: LongInt;
c: Integer;
begin
Write('Введите число: '); ReadLn(n);
c:=0;
while n<>0 do begin
if Abs(n mod 10)=1 then Inc(c);
n:=n div 10;
end;
WriteLn(c);
end.
Объяснение кода листинга программы
- В начале объявляются две переменные: n и c, обе типа LongInt.
- Затем идет команда Write, которая выводит на экран сообщение «Введите число: ».
- После этого с помощью функции ReadLn считывается введенное пользователем число и сохраняется в переменной n.
- Далее инициализируется переменная c со значением 0.
- Затем начинается цикл while, который будет выполняться до тех пор, пока значение переменной n не станет равным нулю.
- Внутри цикла проверяется, равно ли абсолютное значение последнего разряда числа (mod 10) единице. Если да, то значение переменной c увеличивается на 1.
- После этого значение переменной n делится на 10 (n div 10), и это значение становится новым значением переменной n.
- Цикл while повторяется, пока значение переменной n не станет равным нулю.
- По окончании цикла выводится на экран значение переменной c с помощью команды WriteLn.
- Программа завершается.