Вопрос задан 10.09.2025 в 07:38. Предмет Информатика. Спрашивает Петрова Алена.

Дано трехзначное число. Вывести число, полученное при прочтении исходного числа справа налево. Написать программу на Паскале.

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

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

Отвечает Давыдов Денис.

Как это сделать короче всего: разложить трёхзначное число на сотни/десятки/единицы и собрать их в обратном порядке.

Разбиение:

  • a — сотни: a := n div 100

  • b — десятки: b := (n div 10) mod 10

  • c — единицы: c := n mod 10

Обратное число: r := c*100 + b*10 + a

Программа на Паскале (классический вариант)

pascal
program ReverseThreeDigit; var n, a, b, c, r: integer; begin readln(n); { предполагается, что 100 <= n <= 999 } a := n div 100; { сотни } b := (n div 10) mod 10; { десятки } c := n mod 10; { единицы } r := c*100 + b*10 + a; { собираем в обратном порядке } writeln(r); end.

Примеры:

  • Ввод: 123 → Вывод: 321

  • Ввод: 120 → Вывод: 21 (ведущий ноль пропадает, т.к. это число)

Если нужно сохранить ведущие нули (печать ровно трёх цифр)

Без форматирования библиотеками можно просто вывести цифры подряд:

pascal
program ReverseThreeDigitKeepZeros; var n, a, b, c: integer; begin readln(n); a := n div 100; b := (n div 10) mod 10; c := n mod 10; write(c, b, a); { напечатает, например, 021 для n=120 } end.

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

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

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

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