C Program to find Reverse of a Number using Recursion
Posted by Superadmin on December 09 2015 04:59:28
The following C program using recursion reverses the digits of the number and displays it on the output of the terminal.Eg: 123 becomes 321.

Here is the source code of the C program to find the reverse of a number. The C program is successfully compiled and run on a Linux system. The program output is also shown below.

/*
* C program to find the reverse of a number using recursion
*/
#include <stdio.h>
#include <math.h>

int rev(int, int);

int main()
{
int num, result;
int length = 0, temp;

printf("Enter an integer number to reverse: ");
scanf("%d", &num);
temp = num;
while (temp != 0)
{
length++;
temp = temp / 10;
}
result = rev(num, length);
printf("The reverse of %d is %d.\n", num, result);
return 0;
}

int rev(int num, int len)
{
if (len == 1)
{
return num;
}
else
{
return (((num % 10) * pow(10, len - 1)) + rev(num / 10, --len));
}
}

$ cc pgm34.c
$ a.out
Enter an integer number to reverse: 1234
The reverse of 1234 is 4321.