Вот программа на языке C, позволяющая найти обратное значение заданного числа с помощью цикла for:
#include <stdio.h>
int main() {
int number, reversedNumber = 0, remainder;
printf("Enter a number: ");
scanf("%d", &number);
for (; number != 0; number /= 10) {
remainder = number % 10;
reversedNumber = reversedNumber * 10 + remainder;
}
printf("The reverse of the number is: %d\n", reversedNumber);
return 0;
}
Эта программа принимает число, введенное пользователем, и использует цикл forдля вычисления его обратного значения. Он многократно делит число на 10, чтобы извлечь цифры справа налево. Остаток после каждого деления добавляется к переменной reversedNumber, которой изначально присвоено значение 0. Наконец, перевернутое число выводится как выходные данные.
Вот еще несколько способов найти обратное число в C:
-
Использование цикла
while:#include <stdio.h> int main() { int number, reversedNumber = 0, remainder; printf("Enter a number: "); scanf("%d", &number); while (number != 0) { remainder = number % 10; reversedNumber = reversedNumber * 10 + remainder; number /= 10; } printf("The reverse of the number is: %d\n", reversedNumber); return 0; } -
Использование цикла
do- while:#include <stdio.h> int main() { int number, reversedNumber = 0, remainder; printf("Enter a number: "); scanf("%d", &number); do { remainder = number % 10; reversedNumber = reversedNumber * 10 + remainder; number /= 10; } while (number != 0); printf("The reverse of the number is: %d\n", reversedNumber); return 0; } -
Использование рекурсии:
#include <stdio.h> int reverseNumber(int number) { static int reversedNumber = 0; if (number == 0) return 0; reversedNumber = reversedNumber * 10 + number % 10; reverseNumber(number / 10); return reversedNumber; } int main() { int number; printf("Enter a number: "); scanf("%d", &number); int reversedNumber = reverseNumber(number); printf("The reverse of the number is: %d\n", reversedNumber); return 0; }