<h3>Алгоритм решения</h3>
Для каждого числа будем убирать последнюю цифру, пока число не станет нулём. При этом для очередной последней цифры ответ умножаем на 10 и прибавляем к нему эту цифру.
Для одного числа алгоритм будет выглядеть так:
while x > 0:
ans = ans * 10 + (x mod 10)
x = x // 10
Где <em>x </em>- заданное число, <em>ans </em>- ответ на задачу (перевёрнутое число), <em>mod </em>- операция получения остатка, <em>// </em>- операция целочисленного деления.
Формально, <em>x mod 10 </em>возвращает последнюю цифру числа <em>x </em>("остаток от деления x на 10"), а <em>x // 10 возвращает число </em>x <em>без последней цифры ("разделить x на 10 и отбросить остаток").</em>
<h3>Решение (Pascal)</h3>
var
x, i, ans: integer;
begin
for i := 1 to 5 do
begin
read(x);
ans := 0;
while (x > 0) do
begin
ans := ans * 10 + (x mod 10);
x := x div 10;
end;
write(ans, ' ');
end;
writeln;
end.
----------------------------
Файл решения прикреплён.
Напишите минимум 20 символов, чтобы объяснить все.
Решение смотри во вложении.
1) char
2) int
3) float
4) bool
Кстати если, что вопрос частично не корректен, так как D может быть int, так как в c++ bool интерпретируется как число и плюсам без разницы bool/short/int, просто bool - 1 байт, а integer - 4, хотя это можно исправить другими типами данных, но не суть.
Также в C могут быть double и float, отличаются точностью, но оба ответа правильные.