473,218 Members | 1,696 Online

# Reverse a number

Que- If a five digit number is input through the keyboard, write a program to reverse the number.

Expand|Select|Wrap|Line Numbers
1. void main()
2. {
3.    int num=12345, res=0, rem;
4.    clrscr();
5.    while(num > 0)
6.    {
7.       rem=num% 10;
8.       res=res* 10 + rem;
9.       num=num/10;
10.    }
11.    printf("Reverse of a number=%d",res);
12.    getch();
13. }
According to me logic is rite, but the result coming out to be is not correct... Check it our,,, & reply
Mar 19 '08 #1
10 4207
Sick0Fant
121 100+
Que- If a five digit number is input through the keyboard, write a program to reverse the number.

void main()
{
int num=12345, res=0, rem;
clrscr();
while(num > 0)
{
rem=num% 10;
res=res* 10 + rem;
num=num/10;
}
printf("Reverse of a number=%d",res);
getch();
}

According to me logic is rite, but the result coming out to be is not correct... Check it our,,, & reply
It should (and does) work.
Mar 19 '08 #2
If we enter the number upto four digit,answer is rite, Suppose I enter 1234 Answer is 4321.
But If we enter five digit numb,suppose 12345, Answer is not coming 54321.
If we declare num as long, even then the o/p is not coming out to be correct for 5 digit number.
Mar 20 '08 #3
Sick0Fant
121 100+
Far be it from me to doubt you, but I copied and pasted your code into an editor and compiled it, and it produced the desired output.
Mar 20 '08 #4
Ok thx, but i face still d same probs.
Mar 20 '08 #5
Ganon11
3,652 Expert 2GB
Exactly what output are you getting?

e.g. You enter 12345.

What is output?
Mar 20 '08 #6
When I enter 12345, answer is -11215.
When I enter the numb upto 4 digit, answer is coming correct.
Mar 21 '08 #7
JosAH
11,448 Expert 8TB
When I enter 12345, answer is -11215.
When I enter the numb upto 4 digit, answer is coming correct.
The ints on your system are two bytes wide so they can only store numbers in
the range [-2^15,2^15-1], e.g. the number 54321 - 2^15 == -11215, so your
algorithm is correct, the ints are just to narrow (try four byte longs).

kind regards,

Jos
Mar 21 '08 #8
then wat to do to get the correct answer of Five digit number,,,,,,,Even if I declare the numb as long datatype.........even then the answer is not coming out to be correct
Mar 21 '08 #9
JosAH
11,448 Expert 8TB
then wat to do to get the correct answer of Five digit number,,,,,,,Even if I declare the numb as long datatype.........even then the answer is not coming out to be correct
Make all your variable long ints and print them as such: %ld instead of %d.

kind regards,

Jos
Mar 21 '08 #10
Dear Sonia.;
ur code is absolutely correct. firstly check ur compiler size n gv 3/4 digit num.
as it is working in my sys. i.e visual studio..
ck it out n info.

Regards
Vicky...
Mar 25 '08 #11