Friday, 1 February 2013

Reverse the digits using C

// Program to reverse the digits

#include <stdio.h>
#include <time.h>

int reverseDigit(int num){
    int reverseNum = 0;
    while(num > 0){
        reverseNum = (reverseNum << 3)+(reverseNum << 1)+num%10;
        num = num/10;
    }
    return reverseNum;
}

int reverseDigitForLoop(int num){
    int res;
    for(res = 0;num>0; res=(res*10)+num%10, num/=10);
    return res;
}

int main(){
    int num = 3456;
    printf("Reverse of %d is %d\n", num, reverseDigit(num));
    getch();
    return 0;
}

// Note: (reverseNum << 3) + (reverseNum <<1) == reverseNum * 10; 

No comments:

Post a Comment