[c] lab1.c
Viewer
- #include <stdio.h>
- int solve(int n) {
- int dp = 0, d = 1, p;
- while (n >= 10 || n <= -10) { //Рассматриваем два случая, чтобы обрабатывались
- //как положительные, так и отрицательные числа
- p = n % 100;
- p = (p % 10) * 10 + p / 10; //В переменную p будет перезаписываться пару
- dp += p * d; //с обратным порядком
- d *= 100; //В dp записываем нашу пару и добавляем ей
- //соответствующую разрядность (d)
- n /= 100; //Убираем пару, можно переходить к следующей
- }
- return dp + n * d; //Если число содержит нечетное кол-во цифр, то
- //перву цифру (n*d) надо возвращать, чтобы при выводе
- } //она не "исчезла"
- int main() {
- int n;
- int max = 2147483547;
- printf("Пожалуйста, введите n: ");
- scanf("%d", &n);
- if (n > max || n < (-1 * max - 1)) {
- printf("Число выходит за диапазоны типа int.\n");
- } else {
- printf("Обработанное число: %d", solve(n));
- }
- return 0;
- }
Editor
You can edit this paste and save as new:
File Description
- lab1.c
- Paste Code
- 25 Sep-2021
- 1.72 Kb
You can Share it: