Reverse a Number in C using While Loop in Hindi | Step-by-Step Guide with Code

Reverse a number in C using while loop in Hindi सीखना हर उस student के लिए जरूरी है जो C programming की नींव मजबूत करना चाहता है। यह एक ऐसा fundamental program है जो न केवल आपकी logic building को sharp करता है, बल्कि loops और arithmetic operators की समझ को भी गहरा करता है। अगर आप competitive exams, college practicals, या किसी interview की तैयारी कर रहे हैं, तो यह concept आपके काम जरूर आएगा।

इस blog post में हम step-by-step समझेंगे कि while loop का उपयोग करके किसी भी number को कैसे reverse किया जाता है। हम algorithm से लेकर complete C code तक हर चीज़ को Hindi में इस तरह explain करेंगे जो बिल्कुल beginners के लिए भी आसान हो। साथ ही हम dry run (tracing), common mistakes, और important tips भी cover करेंगे।

C Language में Number Reverse करने का मतलब क्या है?

जब हम किसी number को reverse करते हैं, तो उसके digits की order उल्टी हो जाती है। उदाहरण के तौर पर:

  • Input: 12345 → Output: 54321
  • Input: 9807 → Output: 7089
  • Input: 100 → Output: 001 (यानी 1)

यह concept देखने में simple लगता है, लेकिन इसे programmatically implement करने के लिए हमें modulus operator (%) और integer division (/) की अच्छी समझ होनी चाहिए। C language में while loop इस काम के लिए सबसे suitable और readable तरीका माना जाता है।

जरूरी Concepts जो पहले समझने चाहिए

1. Modulus Operator (%)

Modulus operator किसी भी division के बाद बचा हुआ remainder देता है।

1234 % 10 = 4   (अंतिम digit मिलती है)

567 % 10 = 7

2. Integer Division (/)

Integer division से quotient मिलता है और decimal part automatically हट जाता है।

1234 / 10 = 123   (अंतिम digit हट जाती है)

567 / 10 = 56

3. While Loop की Structure

while (condition) 
{
    // body
}

जब तक condition true रहती है, loop चलता रहता है। जैसे ही condition false हो जाती है, loop बंद हो जाता है।

Algorithm – Reverse a Number in C Using While Loop

किसी number को reverse करने का logic इन steps पर based है:

  1. User से एक integer number input लो।
  2. एक variable reverse = 0 initialize करो।
  3. While loop तब तक चलाओ जब तक number > 0 हो।
  4. Loop के अंदर:
    • remainder = number % 10 — last digit निकालो
    • reverse = reverse * 10 + remainder — reverse number build करो
    • number = number / 10 — last digit हटाओ
  5. Loop खत्म होने पर reverse print करो।

यह algorithm बिल्कुल systematic है और reverse a number in C using while loop in Hindi समझने वालों के लिए यही core logic है।

Complete C Program – While Loop से Number Reverse करना

#include <stdio.h>

int main() {
    int number, remainder, reverse = 0;

    printf("Ek number enter karein: ");
    scanf("%d", &number);

    while (number != 0) {
        remainder = number % 10;              // last digit nikalo
        reverse = reverse * 10 + remainder;   // reverse banao
        number = number / 10;                 // last digit hatao
    }

    printf("Reversed Number: %d\n", reverse);

    return 0;
}

Output Example:

Ek number enter karein: 5678
Reversed Number: 8765

Dry Run – Step by Step Tracing

चलिए number = 1234 को manually trace करते हैं ताकि program की working पूरी तरह समझ आए।

Initial Values: number = 1234, reverse = 0

Iterationnumberremainder (number \% 10)reverse (reverse \times 10 + remainder)number / 10
1st123440 \times 10 + 4 = 4123
2nd12334 \times 10 + 3 = 4312
3rd12243 \times 10 + 2 = 4321
4th11432 \times 10 + 1 = 43210
Loop End0

Final Output: 4321 ✅

इस dry run से clearly पता चलता है कि हर iteration में एक digit reverse number में जुड़ती जाती है।

Negative Numbers को Handle करना

ऊपर दिया गया program केवल positive numbers के लिए काम करता है। अगर user negative number डाले, जैसे -456, तो loop शुरू ही नहीं होगा क्योंकि % operator negative numbers के साथ अलग behavior दे सकता है।

Negative numbers को handle करने के लिए थोड़ा modified code:

#include <stdio.h>

int main() {
    int number, remainder, reverse = 0;
    int isNegative = 0;

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

    if (number < 0) {
        isNegative = 1;
        number = -number;  // Change in Positive
    }

    while (number != 0) {
        remainder = number % 10;
        reverse = reverse * 10 + remainder;
        number = number / 10;
    }

    if (isNegative) {
        reverse = -reverse;
    }

    printf("Reversed Number: %d\n", reverse);

    return 0;
}

Output:

Enter a number: -456
Reversed Number: -654

Program को Function के रूप में लिखना

अच्छे programmers code को reusable बनाते हैं। यहाँ same logic को एक function में लिखा गया है:

#include <stdio.h>

int reverseNumber(int num) {
    int reverse = 0, remainder;

    if (num < 0) {
        num = -num;
        while (num != 0) {
            remainder = num % 10;
            reverse = reverse * 10 + remainder;
            num = num / 10;
        }
        return -reverse;
    }

    while (num != 0) {
        remainder = num % 10;
        reverse = reverse * 10 + remainder;
        num = num / 10;
    }

    return reverse;
}

int main() {
    int number;
    printf("Enter a number: ");
    scanf("%d", &number);
    printf("Reversed number: %d\n", reverseNumber(number));
    return 0;
}

Output:
Enter a number: 987654
Reversed number: 456789

यह approach modular programming का एक बेहतरीन example है।

Common Mistakes जो Beginners करते हैं

1. Reverse variable को initialize न करना अगर reverse = 0 नहीं लिखा तो garbage value से calculation होगी और output गलत आएगा।

2. Wrong loop condition कुछ लोग while (number > 0) लिखते हैं जो positive numbers के लिए ठीक है, लेकिन while (number != 0) ज्यादा safe और correct है।

3. Integer overflow बहुत बड़े numbers को reverse करने पर int overflow हो सकता है। ऐसे cases में long या long long use करें।

4. Modulus और division की order बदलना पहले % से remainder निकालें, फिर reverse update करें, फिर / से number छोटा करें — यही सही sequence है। इसे बदलने से गलत output मिलेगा।

While Loop vs Do-While vs For Loop – कौन सा बेहतर है?

Reverse a number in C using while loop सबसे ज्यादा use होता है क्योंकि:

  • While loop entry-controlled है — condition पहले check होती है।
  • अगर number = 0 हो तो loop body execute नहीं होगी, जो logically correct है।
  • Do-while loop में 0 input पर भी एक बार body execute होती, जो गलत result दे सकती है।
  • For loop भी काम करता है लेकिन while loop यहाँ ज्यादा readable और natural लगता है।
Loop TypeEntry Check0 Input पर BehaviorRecommended
While✅ हाँLoop नहीं चलेगा ✅✅ हाँ
Do-while❌ नहींएक बार चलेगा ❌⚠️ नहीं
For✅ हाँLoop नहीं चलेगा ✅✅ हाँ (optional)

Practical Applications

Number reverse करना केवल एक practice exercise नहीं है, इसके real-world applications भी हैं:

Palindrome Check: किसी number को reverse करके original से compare करें — अगर दोनों बराबर हों तो वह palindrome है (जैसे 121, 1331)।

Digit Extraction: किसी number के individual digits को process करने के लिए यही logic use होता है।

Cryptography और Encoding: कुछ simple encoding algorithms में digit reversal का use होता है।

Data Validation: Credit card numbers और other numeric IDs की validation में digit manipulation होती है

Conclusion ( निष्कर्ष )

इस article में हमने reverse a number in C using while loop in Hindi को पूरी तरह समझा। हमने basic algorithm से शुरू किया, complete C program लिखा, dry run के जरिए step-by-step trace किया, negative numbers को handle करना सीखा, और common mistakes से बचने के तरीके जाने।

यह program C programming के उन foundational exercises में से एक है जो आपकी loops, arithmetic operators, और logic building की समझ को एक साथ test करता है।

अगर आप C programming और सीखना चाहते हैं तो इन topics को भी explore करें:

अगर यह article helpful लगा हो तो इसे share करें और नीचे comment में बताएं कि आपको कौन सा हिस्सा सबसे उपयोगी लगा। Happy Coding!

Frequently Asked Questions (FAQs)

Q1. क्या while loop के बिना number reverse किया जा सकता है?

Ans: हाँ, बिल्कुल किया जा सकता है। for loop, do-while loop, recursion, और यहाँ तक कि string conversion के through भी number reverse किया जा सकता है। लेकिन while loop सबसे simple, clean, और beginner-friendly approach मानी जाती है। खासकर जब यह पता नहीं हो कि loop कितनी बार चलेगा, तब while loop सबसे suitable रहता है।

Q2. अगर input number 0 हो तो क्या होगा?

Ans: अगर user 0 enter करे, तो while (number != 0) condition पहले ही false हो जाएगी और loop body एक बार भी execute नहीं होगी। reverse की value 0 ही रहेगी और output 0 print होगा — जो बिल्कुल correct है क्योंकि 0 का reverse 0 ही होता है।
Ek number enter karein: 0
Reversed Number: 0

Q3. बहुत बड़े numbers (जैसे 123456789) को reverse करने पर क्या problem आ सकती है?

Ans: C language में int data type typically 32-bit होता है जिसकी maximum value लगभग 2,147,483,647 होती है। अगर reversed number इस limit से बड़ा हो जाए तो integer overflow की problem आती है और गलत output मिलता है। इससे बचने के लिए long long data type use करें:
long long number, reverse = 0, remainder;
scanf(“%lld”, &number);
printf(“Reversed Number: %lld\n”, reverse);

Q4. क्या यही logic Palindrome Number check करने में use होता है?

Ans: हाँ, बिल्कुल! Palindrome check करना number reverse logic का सबसे common application है। आपको बस यह करना है: Original number को एक अलग variable में save करें। उसे reverse करें (same while loop logic से)। Reversed number को original से compare करें।
int original = number; // … (reverse logic) … if (original == reverse)
printf(“Palindrome hai!\n”);
else
printf(“Palindrome nahi hai.\n”);
उदाहरण: 121 को reverse करने पर भी 121 मिलता है, इसलिए यह palindrome है।

Q5. C program में negative number का reverse सही क्यों नहीं आता बिना extra code के?

Ans: C language में % operator का behavior negative numbers के साथ implementation-defined हुआ करता था, लेकिन C99 standard के बाद यह तय हो गया कि result का sign dividend (जो number divide हो रहा है) के sign के बराबर होगा। इसका मतलब है: -456 % 10 = -6 (न कि +6)

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top