Вопрос задан 12.11.2025 в 16:53. Предмет Информатика. Спрашивает Клименко Давид.

Ввести целое число и найти сумму его цифр (1234). Паскаль.

Перейти к ответам

Ответы на вопрос

Отвечает Полковников Александр.

Вот самый простой вариант на Паскале: читаем целое число, «разбираем» его по цифрам с конца и накапливаем сумму. Учтём отрицательные числа и случай, когда введён ноль.

Вариант 1: арифметический (через div/mod)

pascal
program SumOfDigits; var n, x, s: longint; { при очень больших числах используйте int64 } begin write('Введите целое число: '); readln(n);

x := abs(n); { для отрицательных чисел берём модуль } s := 0;

if x = 0 then s := 0 else while x > 0 do begin s := s + (x mod 10); { последняя цифра } x := x div 10; { «срезаем» последнюю цифру } end;

writeln('Сумма цифр = ', s); end.

Пример.
Ввод: 1234
Вывод: Сумма цифр = 10

Работает быстро и не требует преобразования в строку.


Вариант 2: через строку (удобно для очень длинных чисел)

pascal
program SumOfDigitsStr; var s: ansistring; i, sum: longint; begin write('Введите целое число: '); readln(s);

{ уберём возможный знак } if (length(s) > 0) and ((s[1] = '+') or (s[1] = '-')) then delete(s, 1, 1);

sum := 0; for i := 1 to length(s) do if (s[i] >= '0') and (s[i] <= '9') then inc(sum, ord(s[i]) - ord('0')) else begin writeln('Ошибка: введены посторонние символы.'); halt(1); end;

writeln('Сумма цифр = ', sum); end.

Коротко по логике:

  • Арифметический способ: берём по одной цифре через mod 10, убираем её через div 10, суммируем.

  • Строковый способ: идём по символам, преобразуем каждый в число через ord(s[i]) - ord('0'), складываем.

Для задачи вида «ввести число 1234 и найти сумму его цифр» подойдёт любой из вариантов; первый — наиболее классический.

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос