Free tutorials & notes in Hindi & English · Clean code examples 🧰 मुफ़्त PDF और फ़ोटो टूल्स →
🔴 Advanced  ·  Lesson 47

50 Important Programs

अभ्यास क्यों + compiler कैसे चलता है

सिर्फ़ पढ़कर C नहीं सीख सकते — आप programs लिखकर और चलाकर सीखते हैं। यह page आपको 50 महत्वपूर्ण C programs पूरे solutions के साथ देता है: पूरा code, sample input, और output। हर एक के साथ एक Try it Yourself button भी है जो इसी page पर असली C compiler खोलता है, ताकि आप program चलाएँ, input बदलें, और तुरंत result देखें।

💡 कैसे इस्तेमाल करें: code पढ़िए, output देखिए, फिर ▶ खुद चलाइए दबाइए। Compiler code पहले से load होकर खुलता है — Run दबाइए, नीचे अपना input type कीजिए, और प्रयोग कीजिए।

हर program scanf() इस्तेमाल करता है ताकि आप values डालें। हर बार अपने numbers आज़माइए — ऐसे ही logic सच में समझ आता है।

सभी 50 programs एक नज़र में

किसी भी program पर सीधे जाएँ। पहले शुरुआती groups, फिर arrays और strings।

Number Programs

1. Even या Odd जाँचना

#include <stdio.h>
int main() {
    int n;
    printf("Enter a number: ");
    scanf("%d", &n);
    if (n % 2 == 0) printf("%d is Even\n", n);
    else printf("%d is Odd\n", n);
    return 0;
}
Enter a number: 7 7 is Odd

% 2: शेष 0 मतलब even, वरना odd।

2. Prime Number जाँचना

#include <stdio.h>
int main() {
    int n, i, isPrime = 1;
    printf("Enter a number: ");
    scanf("%d", &n);
    if (n <= 1) isPrime = 0;
    for (i = 2; i <= n / 2; i++)
        if (n % i == 0) { isPrime = 0; break; }
    if (isPrime) printf("%d is Prime\n", n);
    else printf("%d is Not Prime\n", n);
    return 0;
}
Enter a number: 13 13 is Prime

Prime का 1 और खुद के अलावा कोई भाजक नहीं, तो 2 से n/2 तक जाँचें।

3. Number का Factorial

#include <stdio.h>
int main() {
    int n, i;
    long long fact = 1;
    printf("Enter a number: ");
    scanf("%d", &n);
    for (i = 1; i <= n; i++) fact *= i;
    printf("Factorial of %d = %lld\n", n, fact);
    return 0;
}
Enter a number: 5 Factorial of 5 = 120

1 से n तक गुणा। long long क्योंकि factorial तेज़ी से बढ़ता है।

4. Fibonacci Series

#include <stdio.h>
int main() {
    int n, i, a = 0, b = 1, c;
    printf("Enter terms: ");
    scanf("%d", &n);
    for (i = 1; i <= n; i++) {
        printf("%d ", a);
        c = a + b; a = b; b = c;
    }
    printf("\n");
    return 0;
}
Enter terms: 7 0 1 1 2 3 5 8

हर पद पिछले दो का जोड़, 0 और 1 से।

5. Number Reverse करना

#include <stdio.h>
int main() {
    int n, rev = 0;
    printf("Enter a number: ");
    scanf("%d", &n);
    while (n != 0) {
        rev = rev * 10 + n % 10;
        n = n / 10;
    }
    printf("Reversed = %d\n", rev);
    return 0;
}
Enter a number: 1234 Reversed = 4321

% 10 आख़िरी digit; rev*10 + digit reverse बनाता है।

6. Digits का योग

#include <stdio.h>
int main() {
    int n, sum = 0;
    printf("Enter a number: ");
    scanf("%d", &n);
    while (n != 0) { sum += n % 10; n = n / 10; }
    printf("Sum of digits = %d\n", sum);
    return 0;
}
Enter a number: 456 Sum of digits = 15

% 10 से हर digit जोड़ता, / 10 से हटाता है।

7. Palindrome Number जाँचना

#include <stdio.h>
int main() {
    int n, rev = 0, temp;
    printf("Enter a number: ");
    scanf("%d", &n);
    temp = n;
    while (temp != 0) { rev = rev * 10 + temp % 10; temp /= 10; }
    if (n == rev) printf("%d is a Palindrome\n", n);
    else printf("%d is Not a Palindrome\n", n);
    return 0;
}
Enter a number: 121 121 is a Palindrome

Number reverse करके मूल से तुलना करता है।

8. Armstrong Number जाँचना

#include <stdio.h>
int main() {
    int n, temp, rem, sum = 0;
    printf("Enter a number: ");
    scanf("%d", &n);
    temp = n;
    while (temp != 0) { rem = temp % 10; sum += rem*rem*rem; temp /= 10; }
    if (n == sum) printf("%d is Armstrong\n", n);
    else printf("%d is Not Armstrong\n", n);
    return 0;
}
Enter a number: 153 153 is Armstrong

3 अंकों को cubes जोड़ता: 1³+5³+3³ = 153।

9. तीन में सबसे बड़ा

#include <stdio.h>
int main() {
    int a, b, c;
    printf("Enter three numbers: ");
    scanf("%d %d %d", &a, &b, &c);
    if (a >= b && a >= c) printf("Largest = %d\n", a);
    else if (b >= c) printf("Largest = %d\n", b);
    else printf("Largest = %d\n", c);
    return 0;
}
Enter three numbers: 12 45 30 Largest = 45

हर number की दूसरों से if-else तुलना।

10. पहाड़ा (Table)

#include <stdio.h>
int main() {
    int n, i;
    printf("Enter a number: ");
    scanf("%d", &n);
    for (i = 1; i <= 10; i++)
        printf("%d x %d = %d\n", n, i, n * i);
    return 0;
}
Enter a number: 5 5 x 1 = 5 5 x 2 = 10 5 x 3 = 15 5 x 4 = 20 5 x 5 = 25 5 x 6 = 30 5 x 7 = 35 5 x 8 = 40 5 x 9 = 45 5 x 10 = 50

1 से 10 तक loop जो n गुणा i print करता है।

11. Decimal से Binary

#include <stdio.h>
int main() {
    int n, bin[32], i = 0;
    printf("Enter a number: ");
    scanf("%d", &n);
    while (n > 0) { bin[i++] = n % 2; n /= 2; }
    printf("Binary = ");
    for (int j = i - 1; j >= 0; j--) printf("%d", bin[j]);
    printf("\n");
    return 0;
}
Enter a number: 10 Binary = 1010

2 से भाग करके शेष store करता, उल्टा print करता है।

12. GCD और LCM

#include <stdio.h>
int main() {
    int a, b, x, y, gcd, lcm;
    printf("Enter two numbers: ");
    scanf("%d %d", &a, &b);
    x = a; y = b;
    while (y != 0) { int t = y; y = x % y; x = t; }
    gcd = x; lcm = (a * b) / gcd;
    printf("GCD = %d, LCM = %d\n", gcd, lcm);
    return 0;
}
Enter two numbers: 12 18 GCD = 6, LCM = 36

GCD को Euclidean algorithm, फिर LCM = (a×b)/GCD।

Pattern Programs

13. समकोण Star Triangle

#include <stdio.h>
int main() {
    int rows, i, j;
    printf("Enter rows: ");
    scanf("%d", &rows);
    for (i = 1; i <= rows; i++) {
        for (j = 1; j <= i; j++) printf("* ");
        printf("\n");
    }
    return 0;
}
Enter rows: 4 * * * * * * * * * *

Row i, nested loops से i stars print करता है।

14. उल्टा Star Triangle

#include <stdio.h>
int main() {
    int rows, i, j;
    printf("Enter rows: ");
    scanf("%d", &rows);
    for (i = rows; i >= 1; i--) {
        for (j = 1; j <= i; j++) printf("* ");
        printf("\n");
    }
    return 0;
}
Enter rows: 4 * * * * * * * * * *

बाहरी loop घटता है, तो हर row में कम stars।

15. Stars का Pyramid

#include <stdio.h>
int main() {
    int rows, i, j;
    printf("Enter rows: ");
    scanf("%d", &rows);
    for (i = 1; i <= rows; i++) {
        for (j = 1; j <= rows - i; j++) printf(" ");
        for (j = 1; j <= 2*i - 1; j++) printf("*");
        printf("\n");
    }
    return 0;
}
Enter rows: 4 * *** ***** *******

spaces फिर (2i-1) stars से हर row center करता है।

16. Number Triangle

#include <stdio.h>
int main() {
    int rows, i, j;
    printf("Enter rows: ");
    scanf("%d", &rows);
    for (i = 1; i <= rows; i++) {
        for (j = 1; j <= i; j++) printf("%d", j);
        printf("\n");
    }
    return 0;
}
Enter rows: 4 1 12 123 1234

अंदरूनी loop हर row पर 1 से i print करता है।

17. Floyd's Triangle

#include <stdio.h>
int main() {
    int rows, i, j, num = 1;
    printf("Enter rows: ");
    scanf("%d", &rows);
    for (i = 1; i <= rows; i++) {
        for (j = 1; j <= i; j++) printf("%d ", num++);
        printf("\n");
    }
    return 0;
}
Enter rows: 4 1 2 3 4 5 6 7 8 9 10

एक counter सारी rows में बढ़ता रहता है।

18. Pascal's Triangle

#include <stdio.h>
int main() {
    int rows, i, j, c = 1;
    printf("Enter rows: ");
    scanf("%d", &rows);
    for (i = 0; i < rows; i++) {
        c = 1;
        for (j = 0; j <= i; j++) {
            printf("%d ", c);
            c = c * (i - j) / (j + 1);
        }
        printf("\n");
    }
    return 0;
}
Enter rows: 4 1 1 1 1 2 1 1 3 3 1

हर value binomial coefficient formula इस्तेमाल करती है।

19. Diamond Pattern

#include <stdio.h>
int main() {
    int n, i, j;
    printf("Enter rows: ");
    scanf("%d", &n);
    for (i = 1; i <= n; i++) {
        for (j = 1; j <= n - i; j++) printf(" ");
        for (j = 1; j <= 2*i - 1; j++) printf("*");
        printf("\n");
    }
    for (i = n - 1; i >= 1; i--) {
        for (j = 1; j <= n - i; j++) printf(" ");
        for (j = 1; j <= 2*i - 1; j++) printf("*");
        printf("\n");
    }
    return 0;
}
Enter rows: 3 * *** ***** *** *

ऊपर pyramid और नीचे उल्टा pyramid।

20. खोखला Square Pattern

#include <stdio.h>
int main() {
    int n, i, j;
    printf("Enter size: ");
    scanf("%d", &n);
    for (i = 1; i <= n; i++) {
        for (j = 1; j <= n; j++) {
            if (i == 1 || i == n || j == 1 || j == n) printf("*");
            else printf(" ");
        }
        printf("\n");
    }
    return 0;
}
Enter size: 4 **** * * * * ****

सिर्फ़ border rows और columns पर star print करता है।

Array और Matrix Programs

21. Array में सबसे बड़ा-छोटा

#include <stdio.h>
int main() {
    int n, i, arr[100];
    printf("Enter size: ");
    scanf("%d", &n);
    printf("Enter elements: ");
    for (i = 0; i < n; i++) scanf("%d", &arr[i]);
    int max = arr[0], min = arr[0];
    for (i = 1; i < n; i++) {
        if (arr[i] > max) max = arr[i];
        if (arr[i] < min) min = arr[i];
    }
    printf("Largest = %d, Smallest = %d\n", max, min);
    return 0;
}
Enter size: 5 Enter elements: 3 8 1 9 4 Largest = 9, Smallest = 1

एक ही pass में max और min track करता है।

22. Array का योग और औसत

#include <stdio.h>
int main() {
    int n, i, arr[100], sum = 0;
    printf("Enter size: ");
    scanf("%d", &n);
    printf("Enter elements: ");
    for (i = 0; i < n; i++) { scanf("%d", &arr[i]); sum += arr[i]; }
    printf("Sum = %d, Average = %.2f\n", sum, (float)sum / n);
    return 0;
}
Enter size: 4 Enter elements: 10 20 30 40 Sum = 100, Average = 25.00

सारे elements जोड़कर n से भाग। दशमलव को float cast।

23. Array Reverse करना

#include <stdio.h>
int main() {
    int n, i, arr[100];
    printf("Enter size: ");
    scanf("%d", &n);
    printf("Enter elements: ");
    for (i = 0; i < n; i++) scanf("%d", &arr[i]);
    printf("Reversed: ");
    for (i = n - 1; i >= 0; i--) printf("%d ", arr[i]);
    printf("\n");
    return 0;
}
Enter size: 5 Enter elements: 1 2 3 4 5 Reversed: 5 4 3 2 1

Array को आख़िरी index से पहले तक print करता है।

24. Array Sort (Bubble Sort)

#include <stdio.h>
int main() {
    int n, i, j, arr[100];
    printf("Enter size: ");
    scanf("%d", &n);
    printf("Enter elements: ");
    for (i = 0; i < n; i++) scanf("%d", &arr[i]);
    for (i = 0; i < n - 1; i++)
        for (j = 0; j < n - 1 - i; j++)
            if (arr[j] > arr[j+1]) {
                int t = arr[j]; arr[j] = arr[j+1]; arr[j+1] = t;
            }
    printf("Sorted: ");
    for (i = 0; i < n; i++) printf("%d ", arr[i]);
    printf("\n");
    return 0;
}
Enter size: 5 Enter elements: 5 2 8 1 9 Sorted: 1 2 5 8 9

Bubble sort बगल के elements swap करता है जब तक sort न हो।

27. Array में दूसरा सबसे बड़ा

#include <stdio.h>
#include <limits.h>
int main() {
    int n, i, arr[100];
    printf("Enter size: ");
    scanf("%d", &n);
    printf("Enter elements: ");
    for (i = 0; i < n; i++) scanf("%d", &arr[i]);
    int first = INT_MIN, second = INT_MIN;
    for (i = 0; i < n; i++) {
        if (arr[i] > first) { second = first; first = arr[i]; }
        else if (arr[i] > second && arr[i] != first) second = arr[i];
    }
    printf("Second largest = %d\n", second);
    return 0;
}
Enter size: 5 Enter elements: 10 5 20 8 15 Second largest = 15

एक pass में largest और second largest track करता है।

28. Array में Even-Odd गिनना

#include <stdio.h>
int main() {
    int n, i, arr[100], even = 0, odd = 0;
    printf("Enter size: ");
    scanf("%d", &n);
    printf("Enter elements: ");
    for (i = 0; i < n; i++) {
        scanf("%d", &arr[i]);
        if (arr[i] % 2 == 0) even++;
        else odd++;
    }
    printf("Even = %d, Odd = %d\n", even, odd);
    return 0;
}
Enter size: 6 Enter elements: 1 2 3 4 5 6 Even = 3, Odd = 3

हर element को even या odd counter बढ़ाता है।

29. दो Arrays Merge करना

#include <stdio.h>
int main() {
    int a[50], b[50], c[100], n1, n2, i, k = 0;
    printf("Enter size of first: ");
    scanf("%d", &n1);
    printf("Enter first elements: ");
    for (i = 0; i < n1; i++) scanf("%d", &a[i]);
    printf("Enter size of second: ");
    scanf("%d", &n2);
    printf("Enter second elements: ");
    for (i = 0; i < n2; i++) scanf("%d", &b[i]);
    for (i = 0; i < n1; i++) c[k++] = a[i];
    for (i = 0; i < n2; i++) c[k++] = b[i];
    printf("Merged: ");
    for (i = 0; i < k; i++) printf("%d ", c[i]);
    printf("\n");
    return 0;
}
Enter size of first: 3 Enter first elements: 1 2 3 Enter size of second: 2 Enter second elements: 4 5 Merged: 1 2 3 4 5

पहले array, फिर दूसरा, एक बड़े array में copy करता है।

30. Matrix जोड़

#include <stdio.h>
int main() {
    int a[10][10], b[10][10], c[10][10], r, col, i, j;
    printf("Enter rows and cols: ");
    scanf("%d %d", &r, &col);
    printf("Enter first matrix: ");
    for (i = 0; i < r; i++) for (j = 0; j < col; j++) scanf("%d", &a[i][j]);
    printf("Enter second matrix: ");
    for (i = 0; i < r; i++) for (j = 0; j < col; j++) scanf("%d", &b[i][j]);
    for (i = 0; i < r; i++) for (j = 0; j < col; j++) c[i][j] = a[i][j] + b[i][j];
    printf("Sum:\n");
    for (i = 0; i < r; i++) {
        for (j = 0; j < col; j++) printf("%d ", c[i][j]);
        printf("\n");
    }
    return 0;
}
Enter rows and cols: 2 2 Enter first matrix: 1 2 3 4 Enter second matrix: 5 6 7 8 Sum: 6 8 10 12

मेल खाते cells जोड़ता है: c[i][j] = a[i][j] + b[i][j]।

31. Matrix गुणा

#include <stdio.h>
int main() {
    int a[10][10], b[10][10], c[10][10], i, j, k, n;
    printf("Enter size n (n x n): ");
    scanf("%d", &n);
    printf("Enter first matrix: ");
    for (i=0;i<n;i++) for (j=0;j<n;j++) scanf("%d", &a[i][j]);
    printf("Enter second matrix: ");
    for (i=0;i<n;i++) for (j=0;j<n;j++) scanf("%d", &b[i][j]);
    for (i=0;i<n;i++) for (j=0;j<n;j++) {
        c[i][j] = 0;
        for (k=0;k<n;k++) c[i][j] += a[i][k] * b[k][j];
    }
    printf("Product:\n");
    for (i=0;i<n;i++) { for (j=0;j<n;j++) printf("%d ", c[i][j]); printf("\n"); }
    return 0;
}
Enter size n (n x n): 2 Enter first matrix: 1 2 3 4 Enter second matrix: 5 6 7 8 Product: 19 22 43 50

हर cell A की row का B की column से dot product (तीन loops)।

32. Matrix का Transpose

#include <stdio.h>
int main() {
    int a[10][10], r, c, i, j;
    printf("Enter rows and cols: ");
    scanf("%d %d", &r, &c);
    printf("Enter matrix: ");
    for (i=0;i<r;i++) for (j=0;j<c;j++) scanf("%d", &a[i][j]);
    printf("Transpose:\n");
    for (i=0;i<c;i++) {
        for (j=0;j<r;j++) printf("%d ", a[j][i]);
        printf("\n");
    }
    return 0;
}
Enter rows and cols: 2 3 Enter matrix: 1 2 3 4 5 6 Transpose: 1 4 2 5 3 6

a[j][i] print करके rows और columns बदलता है।

String Programs

33. String की Length

#include <stdio.h>
int main() {
    char str[100];
    int len = 0;
    printf("Enter a string: ");
    scanf("%s", str);
    while (str[len] != '\0') len++;
    printf("Length = %d\n", len);
    return 0;
}
Enter a string: Hello Length = 5

null terminator '\0' तक characters गिनता है।

34. String Reverse करना

#include <stdio.h>
#include <string.h>
int main() {
    char str[100];
    printf("Enter a string: ");
    scanf("%s", str);
    int len = strlen(str);
    printf("Reversed: ");
    for (int i = len - 1; i >= 0; i--) printf("%c", str[i]);
    printf("\n");
    return 0;
}
Enter a string: Hello Reversed: olleH

characters को आख़िरी index से पहले तक print करता है।

35. String Palindrome जाँचना

#include <stdio.h>
#include <string.h>
int main() {
    char str[100];
    printf("Enter a string: ");
    scanf("%s", str);
    int len = strlen(str), i, isPal = 1;
    for (i = 0; i < len / 2; i++)
        if (str[i] != str[len - 1 - i]) { isPal = 0; break; }
    if (isPal) printf("Palindrome\n");
    else printf("Not a Palindrome\n");
    return 0;
}
Enter a string: madam Palindrome

दोनों सिरों से characters अंदर की ओर तुलना करता है।

36. Vowels-Consonants गिनना

#include <stdio.h>
int main() {
    char str[100];
    int v = 0, c = 0, i;
    printf("Enter a string: ");
    scanf("%s", str);
    for (i = 0; str[i] != '\0'; i++) {
        char ch = str[i];
        if (ch=='a'||ch=='e'||ch=='i'||ch=='o'||ch=='u'||
            ch=='A'||ch=='E'||ch=='I'||ch=='O'||ch=='U') v++;
        else c++;
    }
    printf("Vowels = %d, Consonants = %d\n", v, c);
    return 0;
}
Enter a string: hello Vowels = 2, Consonants = 3

हर character को vowels की list से जाँचता है।

37. Uppercase में बदलना

#include <stdio.h>
int main() {
    char str[100];
    int i;
    printf("Enter a string: ");
    scanf("%s", str);
    for (i = 0; str[i] != '\0'; i++)
        if (str[i] >= 'a' && str[i] <= 'z') str[i] -= 32;
    printf("Uppercase: %s\n", str);
    return 0;
}
Enter a string: hello Uppercase: HELLO

हर lowercase अक्षर के ASCII से 32 घटाता है।

38. वाक्य में शब्द गिनना

#include <stdio.h>
int main() {
    char str[200];
    int i, words = 1;
    printf("Enter a sentence: ");
    fgets(str, sizeof(str), stdin);
    for (i = 0; str[i] != '\0'; i++)
        if (str[i] == ' ') words++;
    printf("Words = %d\n", words);
    return 0;
}
Enter a sentence: I love C programming Words = 4

spaces गिनकर एक जोड़ता है। पूरी line को fgets।

39. Anagram जाँचना

#include <stdio.h>
#include <string.h>
int main() {
    char a[100], b[100];
    int count[26] = {0}, i;
    printf("Enter first string: ");
    scanf("%s", a);
    printf("Enter second string: ");
    scanf("%s", b);
    if (strlen(a) != strlen(b)) { printf("Not Anagram\n"); return 0; }
    for (i = 0; a[i]; i++) count[a[i]-'a']++;
    for (i = 0; b[i]; i++) count[b[i]-'a']--;
    int anagram = 1;
    for (i = 0; i < 26; i++) if (count[i] != 0) anagram = 0;
    printf(anagram ? "Anagram\n" : "Not Anagram\n");
    return 0;
}
Dry Run — dekhiye har step kaise chalta hai (i = 0 se shuru)
Stepi ki valueConditionKya huai ab
100 < 26 → trueloop body chalta haii → 1
211 < 26 → trueloop body chalta haii → 2
322 < 26 → trueloop body chalta haii → 3
433 < 26 → trueloop body chalta haii → 4
544 < 26 → trueloop body chalta haii → 5
655 < 26 → trueloop body chalta haii → 6
766 < 26 → trueloop body chalta haii → 7
877 < 26 → trueloop body chalta haii → 8
988 < 26 → trueloop body chalta haii → 9
1099 < 26 → trueloop body chalta haii → 10
111010 < 26 → trueloop body chalta haii → 11
121111 < 26 → trueloop body chalta haii → 12
131212 < 26 → trueloop body chalta haii → 13
141313 < 26 → trueloop body chalta haii → 14
151414 < 26 → trueloop body chalta haii → 15
161515 < 26 → trueloop body chalta haii → 16
171616 < 26 → trueloop body chalta haii → 17
181717 < 26 → trueloop body chalta haii → 18
191818 < 26 → trueloop body chalta haii → 19
201919 < 26 → trueloop body chalta haii → 20
212020 < 26 → trueloop body chalta haii → 21
222121 < 26 → trueloop body chalta haii → 22
232222 < 26 → trueloop body chalta haii → 23
242323 < 26 → trueloop body chalta haii → 24
252424 < 26 → trueloop body chalta haii → 25
… loop isi tarah chalta rahता hai
Enter first string: listen Enter second string: silent Anagram

एक शब्द के अक्षर जोड़, दूसरे के घटा; सब zero मतलब anagram।

40. दो Strings जोड़ना

#include <stdio.h>
#include <string.h>
int main() {
    char a[100], b[100];
    printf("Enter first string: ");
    scanf("%s", a);
    printf("Enter second string: ");
    scanf("%s", b);
    strcat(a, b);
    printf("Result: %s\n", a);
    return 0;
}
Enter first string: Coding Enter second string: Easily Result: CodingEasily

strcat दूसरी string को पहली के अंत में जोड़ता है।

अन्य और Projects

41. दो Numbers Swap करना

#include <stdio.h>
int main() {
    int a, b, temp;
    printf("Enter two numbers: ");
    scanf("%d %d", &a, &b);
    temp = a; a = b; b = temp;
    printf("After swap: a = %d, b = %d\n", a, b);
    return 0;
}
Enter two numbers: 5 9 After swap: a = 9, b = 5

दो values बदलने को एक temporary variable इस्तेमाल करता है।

42. सरल Calculator

#include <stdio.h>
int main() {
    double a, b;
    char op;
    printf("Enter expression (e.g. 5 + 3): ");
    scanf("%lf %c %lf", &a, &op, &b);
    switch (op) {
        case '+': printf("= %.2f\n", a + b); break;
        case '-': printf("= %.2f\n", a - b); break;
        case '*': printf("= %.2f\n", a * b); break;
        case '/':
            if (b != 0) printf("= %.2f\n", a / b);
            else printf("Cannot divide by zero\n");
            break;
        default: printf("Invalid operator\n");
    }
    return 0;
}
Enter expression (e.g. 5 + 3): 5 + 3 = 8.00

दो numbers और operator पढ़कर switch इस्तेमाल करता है।

43. Celsius से Fahrenheit

#include <stdio.h>
int main() {
    float c, f;
    printf("Enter Celsius: ");
    scanf("%f", &c);
    f = (c * 9 / 5) + 32;
    printf("Fahrenheit = %.2f\n", f);
    return 0;
}
Enter Celsius: 37 Fahrenheit = 98.60

Formula F = (C × 9/5) + 32 लगाता है।

44. Leap Year जाँचना

#include <stdio.h>
int main() {
    int year;
    printf("Enter a year: ");
    scanf("%d", &year);
    if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
        printf("%d is a Leap Year\n", year);
    else
        printf("%d is Not a Leap Year\n", year);
    return 0;
}
Enter a year: 2024 2024 is a Leap Year

4 से भाज्य पर 100 से नहीं, या 400 से भाज्य।

45. पहले N प्राकृत numbers का योग

#include <stdio.h>
int main() {
    int n, i, sum = 0;
    printf("Enter n: ");
    scanf("%d", &n);
    for (i = 1; i <= n; i++) sum += i;
    printf("Sum = %d\n", sum);
    return 0;
}
Enter n: 10 Sum = 55

loop में 1 से n जोड़ता है (या n*(n+1)/2)।

46. Number में digits गिनना

#include <stdio.h>
int main() {
    int n, count = 0;
    printf("Enter a number: ");
    scanf("%d", &n);
    if (n == 0) count = 1;
    while (n != 0) { count++; n /= 10; }
    printf("Digits = %d\n", count);
    return 0;
}
Enter a number: 4567 Digits = 4

हर loop / 10 से एक digit हटाकर loops गिनता है।

47. Number की Power

#include <stdio.h>
int main() {
    int base, exp, i;
    long long result = 1;
    printf("Enter base and exponent: ");
    scanf("%d %d", &base, &exp);
    for (i = 1; i <= exp; i++) result *= base;
    printf("%d^%d = %lld\n", base, exp, result);
    return 0;
}
Enter base and exponent: 2 5 2^5 = 32

base को exp बार खुद से गुणा करता है।

48. Perfect Number जाँचना

#include <stdio.h>
int main() {
    int n, i, sum = 0;
    printf("Enter a number: ");
    scanf("%d", &n);
    for (i = 1; i < n; i++)
        if (n % i == 0) sum += i;
    if (sum == n) printf("%d is Perfect\n", n);
    else printf("%d is Not Perfect\n", n);
    return 0;
}
Enter a number: 6 6 is Perfect

Perfect number अपने भाजकों के जोड़ के बराबर (6 = 1+2+3)।

49. Positive-Negative-Zero गिनना

#include <stdio.h>
int main() {
    int n, i, x, pos = 0, neg = 0, zero = 0;
    printf("Enter how many numbers: ");
    scanf("%d", &n);
    printf("Enter numbers: ");
    for (i = 0; i < n; i++) {
        scanf("%d", &x);
        if (x > 0) pos++;
        else if (x < 0) neg++;
        else zero++;
    }
    printf("Positive=%d Negative=%d Zero=%d\n", pos, neg, zero);
    return 0;
}
Enter how many numbers: 5 Enter numbers: 3 -2 0 7 -5 Positive=2 Negative=2 Zero=1

हर number को if-else-if से तीन counters में बाँटता है।

इन programs की 7 आम ग़लतियाँ (असली output के साथ)

1. Factorial overflow: int इस्तेमाल करना

int f = 1;  long long g = 1;
for (int i = 1; i <= 13; i++) { f *= i; g *= i; }
printf("13! with int       = %d\n", f);
printf("13! with long long = %lld\n", g);
13! with int = 1932053504 13! with long long = 6227020800

int लगभग 2.1 अरब तक रखता है, इसलिए 13! overflow हो जाता है। C में signed overflow undefined behaviour है – चुपचाप ग़लत संख्या मिलती है। इसीलिए program 3 में long long है (20! तक सही)।

2. Condition में == की जगह =

int marks = 35;
if (marks = 40) printf("Passed with %d\n", marks);
eq.c:4:9: warning: suggest parentheses around assignment used as truth value [-Wparentheses] Passed with 40

Condition 40 assign करती है, जो non-zero है, इसलिए हमेशा true। gcc -Wall से compile करें – compiler चेतावनी देता है।

3. scanf में & भूलना

scanf("%d", n); address की जगह value भेजता है, इसलिए program crash हो सकता है या कचरा पढ़ सकता है। हमेशा scanf("%d", &n); – strings को छोड़कर (char name[50]; scanf("%49s", name);), क्योंकि array का नाम पहले से address है।

4. Loops और arrays में off-by-one

Size 5 वाले array के indexes 0–4 हैं। for (i = 0; i <= n; i++) अंत से एक element आगे पढ़ता है। Arrays के लिए i < n लिखें और सबसे छोटे input (n = 1) से test करें।

5. धीमा prime check

n = 1000003 (a prime)
loop to n/2      : 500000 checks
loop to sqrt(n)  : 999 checks

अगर n का कोई divisor √n से बड़ा है तो एक √n से छोटा भी होगा, इसलिए i * i <= n तक जाँचना काफ़ी है – यहाँ 500 गुना तेज़। Program 2 सरलता के लिए n/2 इस्तेमाल करता है; exams और interviews में √n वाला सुधार बताइए।

6. असुरक्षित string input

gets() कभी न लिखें – C11 से हटा दिया गया क्योंकि यह array size पर रुक नहीं सकता। fgets(str, sizeof str, stdin) इस्तेमाल करके आख़िरी newline हटाएँ, या एक शब्द के लिए scanf("%49s", str)।

7. Integer division

int variables के साथ avg = sum / n; दशमलव हिस्सा हटा देता है (7 / 2 = 3)। पहले cast करें: avg = (float) sum / n; – program 22 देखें।

मुख्य programs की Time complexity

ProgramTime complexityक्यों
Prime check (n/2 तक)O(n)n/2 तक एक loop
Prime check (√n तक)O(√n)i * i > n पर रुकें
Digits का योग / reverse / गिनतीO(d)d = digits की संख्या
GCD (Euclid)O(log min(a, b))शेषफल तेज़ी से घटता है
Linear searchO(n)हर element जाँच सकता है
Binary searchO(log n)हर step में sorted array आधा
Bubble sortO(n²)array पर nested loops
Matrix multiplication (n×n)O(n³)तीन nested loops
n rows वाला patternO(n²)row loop × column loop

अच्छे से अभ्यास कैसे करें

  • पहले कोशिश, फिर देखिए। Problem पढ़िए, खुद code करने की कोशिश कीजिए, तभी solution देखिए।
  • Input बदलिए। हर program को compiler में अपने values से चलाकर edge cases test कीजिए।
  • हाथ से trace कीजिए। कठिन वालों (reverse, prime, patterns) को छोटे input के साथ कागज़ पर loop follow कीजिए।
  • याद से दोबारा लिखिए। समझने के बाद, page बंद करके program फिर type कीजिए।

अक्सर पूछे जाने वाले प्रश्न (FAQ)

ये C programs page पर कैसे चलाऊँ?
हर program के साथ "Try it Yourself" button है। उसे दबाइए और code के ठीक नीचे असली C compiler खुल जाता है, उस program के साथ पहले से load। Run दबाइए, नीचे box में कोई भी input type कीजिए, और तुरंत output देखिए।
क्या ये C programs user input लेते हैं?
हाँ। हर program scanf() इस्तेमाल करता है ताकि आप खुद values डालें। जब आप compiler में program चलाते हैं, input box में अपना input type कीजिए और वो program को दिया जाता है, बिल्कुल आपके अपने computer जैसा।
क्या ये C programs solutions के साथ पूरे हैं?
हाँ। सादी list के विपरीत, यहाँ 50 में से हर program में पूरा चलने वाला code, sample input और output, और logic की छोटी व्याख्या है — चलाने और पढ़ने को तैयार।
ये 50 C programs कौन-से topics कवर करते हैं?
ये number programs (even/odd, prime, factorial, Fibonacci, Armstrong), patterns (stars, pyramids, Floyd, Pascal), arrays और matrices (search, sort, multiply), strings (reverse, palindrome, anagram), और calculator व menu-driven जैसे छोटे projects तक फैले हैं।
क्या ये programs exams और interviews को अच्छे हैं?
बिल्कुल। prime check, palindrome, number या string reverse, sorting और matrix operations जैसे classics viva और interviews में लगातार आते हैं। इन्हें यहाँ चलाना और दोबारा लिखना उन्हें याद से बनाने का आत्मविश्वास देता है।
← Back to C Tutorial
🔗

Share this topic with a friend

यह topic किसी दोस्त को भेजें

Found it useful? Send it to a classmate learning the same thing.

अच्छा लगा? जो दोस्त यही सीख रहा है, उसे भेज दीजिए।

💻 लाइव कोड एडिटर

इस पेज के प्रोग्राम यहीं तैयार हैं — चलाएँ, बदलें और सीखें। कुछ भी इंस्टॉल किए बिना।
OneCompiler द्वारा संचालित। कोड एडिटर में अपने आप आ जाता है — Run दबाकर आउटपुट देखें। अगर एडिटर न खुले तो नए टैब में खोलें.
अगला topicInterview Questions आपकी प्रगति: 47 / 67 (70%) · Lesson 48 / 67 आगे बढ़ें →

यह lesson कैसा लगा?

आपकी राय से हम content और बेहतर बनाते हैं।

अपना review और सुझाव लिखें (वैकल्पिक)

Review approve होने के बाद आपका नाम और शहर इसके साथ public दिख सकते हैं। Email या phone न लिखें।

▶ CodingEasily on YouTube

Video से सीखें – आसान Hindi में

चुनी हुई video: RDBMS भाग 3 – Class XI Commerce IT

▶ Channel subscribe करें