#include <stdio.h>
void insert_sum(int x) {
int result = 0; // Переменная для результата
int factor = 1; // Фактор для разрядов
// Преобразуем число в обратном порядке для обработки пар цифр
while (x > 9) {
int second_digit = x % 10; // Последняя цифра
x /= 10; // Убираем последнюю цифру
int first_digit = x % 10; // Предпоследняя цифра
x /= 10; // Убираем предпоследнюю цифру
// Вычисляем сумму и добавляем в результат
int sum = first_digit + second_digit;
result += (second_digit * factor) + (first_digit * factor * 10);
if (sum < 10) { // Добавляем сумму, если она однозначная
result += sum * factor * 100;
factor *= 1000;
} else {
factor *= 100; // Переход к следующей паре цифр
}
}
// Если осталась одна цифра
if (x > 0) {
result += x * factor;
}
// Вывод результата
printf("Результат: %d\n", result);
}
int main() {
int x;
printf("Введите числа (для завершения введите 0): ");
while (1) {
scanf("%d", &x);
if (x == 0) {
break; // Завершение программы
}
insert_sum(x);
}
return 0;
}
·
#include <stdio.h>
void insert_sum(int x) {
int result = 0; // Переменная для результата
int factor = 1; // Фактор для позиций цифр
int digit_count = 0; // Счетчик для количества цифр
int first_digit = 0; // Первая цифра пары
// Проходим по цифрам числа
while (x > 0) {
int second_digit = x % 10; // Получаем последнюю цифру
x /= 10; // Убираем последнюю цифру
digit_count++;
if (digit_count % 2 == 1) {
// Это первая цифра в паре
first_digit = second_digit; // Сохраняем первую цифру
result += first_digit * factor; // Добавляем первую цифру в результат
factor *= 10; // Переход к следующему разряду
} else {
// Это вторая цифра в паре
result += second_digit * factor; // Добавляем вторую цифру
factor *= 10; // Переход к следующему разряду
// Считаем сумму двух цифр
int sum = first_digit + second_digit;
// Проверяем, является ли сумма цифрой
if (sum >= 0 && sum <= 9) {
result += sum * factor; // Вставляем сумму
factor *= 10; // Переход к следующему разряду
}
}
}
// Выводим результат
printf("Результат: %d\n", result);
}
int main() {
int x;
printf("Введите числа (для завершения введите 0): ");
while (1) {
scanf("%d", &x);
if (x == 0) { // Выход из цикла при вводе 0
break;
}
insert_sum(x); // Обработка введенного числа
}
return 0;
}