Reverse any number using c program




Code 1:
1. Write a c program to reverse a given number
2. C program to find reverse of a number
3. C program to reverse the digits of a number
4. Reverse of a number in c using while loop

#include<stdio.h>
int main(){
    int num,r,reverse=0;

    printf("Enter any number: ");
    scanf("%d",&num);

    while(num){
         r=num%10;
         reverse=reverse*10+r;
         num=num/10;
    }

    printf("Reversed of number: %d",reverse);
    return 0;
}

Sample output:
Enter any number: 12
Reversed of number: 21

Code 2:
1. Reverse very large or big numbers beyond the range of long int
2. Reverse five digit number c program

Logic is we accept the number as string

#include<stdio.h>
#define MAX 1000

int main(){

    char num[MAX];
    int i=0,j,flag=0;

    printf("Enter any positive integer: ");
    scanf("%s",num);

    while(num[i]){
         if(num[i] < 48 || num[i] > 57){
             printf("Invalid integer number");
             return 0;
         }
         i++;
    }

    printf("Reverse: ");
    for(j=i-1;j>=0;j--)
         if(flag==0 &&  num[j] ==48){
         }
         else{
             printf("%c",num[j]);
             flag =1;
         }

    return 0;

Sample output:

Enter any positive integer: 234561000045645679001237800000000000
Reverse: 8732100976546540000165432

Code 3:
1. C program to reverse a number using for loop
2. How to find reverse of a number in c
3. Wap to reverse a number in c

#include<stdio.h>
int main(){
    int num,r,reverse=0;

    printf("Enter any number: ");
    scanf("%d",&num);

    for(;num!=0;num=num/10){
         r=num%10;
         reverse=reverse*10+r;
    }

    printf("Reversed of number: %d",reverse);
    return 0;
}

Sample output:
Enter any number: 123
Reversed of number: 321

Code 4:
1. C program to reverse a number using recursion

#include<stdio.h>
int main(){
    int num,reverse;

    printf("Enter any number: ");
    scanf("%d",&num);

    reverse=rev(num);
    printf("Reverse of number: %d",reverse);
    return 0;
}

int rev(int num){
    static sum,r;

    if(num){
         r=num%10;
         sum=sum*10+r;
         rev(num/10);
    }
    else
         return 0;

    return sum;
}

Sample output:
Enter any number: 456
Reverse of number: 654


27 comments:

  1. its helping me a lost

    ReplyDelete
  2. u can avoid recursion by directly writing this code

    while(num!=0)
    {
    r=num%10;
    sum=sum *10 + r
    num=num/10;
    }

    ReplyDelete
  3. take num=12
    now r=12%10=2
    sum=0*10+2=2
    num=12/10=1
    now num becomes 1
    r=1%10=1
    sum=2*10+1=21
    num=1/10=0 so now 0>0 does not satisfy
    printf("%d",sum)
    so reverse of 12 is 21

    ReplyDelete
  4. @raj this logic only possible for upto 9nums

    ReplyDelete
  5. /*i think i hv a b8r code.....*/

    #include
    main()
    {
    int a,b,c,d,e;
    printf("Enter the Number to Find it's Reverse\n");
    scanf("%d",&a);
    while(a!=0)
    {
    b=a%10;
    c=a/10;
    printf("%d",b);
    a=c;
    }
    }

    ReplyDelete
  6. kapil's prog is great and easy

    ReplyDelete
  7. it is good but not perfect

    ReplyDelete
  8. yours s good but
    in some case ther will some need to hav zero in 1st digit
    like 1230 we need to get 0321
    yours cant do that,..???

    ReplyDelete
  9. Hi sangeerth,
    In code 2 instead of
    for(j=i-1;j>=0;j--)
    if(flag==0 && num[j] ==48){
    }
    else{
    printf("%c",num[j]);
    flag =1;
    }

    Write only
    for(j=i-1;j>=0;j--)
    printf("%c",num[j]);

    ReplyDelete
  10. These programs to reverse a number are not workin in the case of numbers which ends with zeor . Please help. for example if we input 320 the reverse shows 23 only not zero at the beginning.

    ReplyDelete
  11. @alida: because the reverse of 320 is 023 and the zero at the front of a whole number is ignored because it is not significant.

    ReplyDelete
  12. @alida: because the reverse of 320 is 023 and the zero at the front of a whole number is ignored because it is not significant.

    ReplyDelete
  13. wow wonderful..............dennis ritche is very happy in heaven

    ReplyDelete
  14. /*U can write a 'c' program to search details of a person (simple program)*/





    #include
    #include
    #include
    void main()
    char n;
    int p==2429;
    printf("Enter a name);
    scanf("%s",n);
    printf("Password please");
    if(n==khirod&&p==2429)
    {
    printf("details of khirod");
    }
    if(n==giri&&p==2429)
    {
    printf("details of giri");
    }
    {
    .
    .
    .
    .
    .
    }
    getch();
    }

    ReplyDelete
  15. hay frnz any body tell me which one video tutorial cd(disk) is best . where i will purchase it

    ReplyDelete
  16. write a C program to calculate area and perimeter of circle according to user choice by using switch statement.
    give me the answer as soon as possible
    thank you

    ReplyDelete
  17. : Write a program that prints the following pattern.
    *
    * *
    * * *
    * * * *
    * * * * *
    * * * * * *


    ReplyDelete
    Replies
    1. here is your solution
      http://www.programmingcampus.com/2012/08/print-triangle-or-pattern.html

      Delete
  18. i am needs this programme.i hope you will help me......

    ReplyDelete
  19. Write a program which adds two arrays with the help of their pointers.

    ReplyDelete
  20. Using your method if u will calculate the reverse of 10 or 100 or 1000 and so on ...then it will return 1 and 1 and 1 respectively so on .it can not show 01 , 001 , 0001 as reverse.

    ReplyDelete
  21. #include
    #include
    // To printf given shape
    //*
    //**
    //***
    //****
    //*****
    int main()
    {
    int a, b;
    for(a=1; a<=5; a++)
    {
    for(b=1; b<=a; b++)
    {
    printf("*");
    }
    printf("\n");
    }
    getch();
    }
    this program is coppied from http://allclanguageprograms.blogspot.com/

    ReplyDelete
  22. thanks but can you logics for using this code i.e:

    r=no%10;
    no=no/10;
    rno=rno*10+r;

    ReplyDelete
  23. if(num[i] < 48 || num[i] > 57)......
    plz explain this condition ......

    ReplyDelete

Share It