C Program To Generate All Combinations of 1, 2 and 3

Lets write a C program to generate all combinations of 1, 2 and 3 using for loop.

Related Read:
For Loop In C Programming Language
Nested For Loop In C Programming Language

Logic To Generate All Combinations of 1, 2 and 3

In this program we take 3 for loops. Nesting of for loops go 3 levels deep. For every iteration of outer most for loop, the inner for loop executes 3 times. Similarly, for every iteration of the inner for loop, the inner most for loop executes 3 times. At the end of 3 iteration of outer most for loop, all the combinations of numbers 1, 2 and 3 are generated.

Video Tutorial: C Program To Generate All Combinations of 1, 2 and 3


[youtube https://www.youtube.com/watch?v=E3NmfSdEKFQ]

YouTube Link: https://www.youtube.com/watch?v=E3NmfSdEKFQ [Watch the Video In Full Screen.]


Source Code: C Program To Generate All Combinations of 1, 2 and 3, without Repetition

 #include<stdio.h>

int main()
{
    int i, j, k;

    for(i = 1; i <= 3; i++)
    {
        for(j = 1; j <= 3; j++)
        {
            for(k = 1; k <= 3; k++)
            {
                if( i != j && i != k && j != k)
                    printf("%d %d %d\n", i, j, k);
            }
        }
    }

    return 0;
}

Output:
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1

Using a if condition inside inner most for loop, we make sure i, j and k value are not same – hence eliminating the chances of displaying repeated numbers.

Source Code: C Program To Generate All Combinations of 1, 2 and 3

#include<stdio.h>

int main()
{
    int i, j, k;

    for(i = 1; i <= 3; i++)
    {
        for(j = 1; j <= 3; j++)
        {
            for(k = 1; k <= 3; k++)
            {
                    printf("%d %d %d\n", i, j, k);
            }
        }
    }

    return 0;
}

Output:
1 1 1
1 1 2
1 1 3
1 2 1
1 2 2
1 2 3
1 3 1
1 3 2
1 3 3
2 1 1
2 1 2
2 1 3
2 2 1
2 2 2
2 2 3
2 3 1
2 3 2
2 3 3
3 1 1
3 1 2
3 1 3
3 2 1
3 2 2
3 2 3
3 3 1
3 3 2
3 3 3

Source Code: C Program To Generate All Combinations of 1, 2, 3 and 4

#include<stdio.h>

int main()
{
    int i, j, k, l;

    for(i = 1; i <= 4; i++)
    {
        for(j = 1; j <= 4; j++)
        {
            for(k = 1; k <= 4; k++)
            {
                for(l = 1; l <= 4; l++)
                {
                    printf("%d %d %d %d\n", i, j, k, l);
                }
            }
        }
    }

    return 0;
}

Output:
1 1 1 1
1 1 1 2
1 1 1 3
1 1 1 4
1 1 2 1
1 1 2 2
1 1 2 3
1 1 2 4
1 1 3 1
1 1 3 2
1 1 3 3
1 1 3 4
1 1 4 1
1 1 4 2
1 1 4 3
1 1 4 4
1 2 1 1
1 2 1 2
1 2 1 3
1 2 1 4
1 2 2 1
1 2 2 2
1 2 2 3
1 2 2 4
1 2 3 1
1 2 3 2
1 2 3 3
1 2 3 4
1 2 4 1
1 2 4 2
1 2 4 3
1 2 4 4
1 3 1 1
1 3 1 2
1 3 1 3
1 3 1 4
1 3 2 1
1 3 2 2
1 3 2 3
1 3 2 4
1 3 3 1
1 3 3 2
1 3 3 3
1 3 3 4
1 3 4 1
1 3 4 2
1 3 4 3
1 3 4 4
1 4 1 1
1 4 1 2
1 4 1 3
1 4 1 4
1 4 2 1
1 4 2 2
1 4 2 3
1 4 2 4
1 4 3 1
1 4 3 2
1 4 3 3
1 4 3 4
1 4 4 1
1 4 4 2
1 4 4 3
1 4 4 4
2 1 1 1
2 1 1 2
2 1 1 3
2 1 1 4
2 1 2 1
2 1 2 2
2 1 2 3
2 1 2 4
2 1 3 1
2 1 3 2
2 1 3 3
2 1 3 4
2 1 4 1
2 1 4 2
2 1 4 3
2 1 4 4
2 2 1 1
2 2 1 2
2 2 1 3
2 2 1 4
2 2 2 1
2 2 2 2
2 2 2 3
2 2 2 4
2 2 3 1
2 2 3 2
2 2 3 3
2 2 3 4
2 2 4 1
2 2 4 2
2 2 4 3
2 2 4 4
2 3 1 1
2 3 1 2
2 3 1 3
2 3 1 4
2 3 2 1
2 3 2 2
2 3 2 3
2 3 2 4
2 3 3 1
2 3 3 2
2 3 3 3
2 3 3 4
2 3 4 1
2 3 4 2
2 3 4 3
2 3 4 4
2 4 1 1
2 4 1 2
2 4 1 3
2 4 1 4
2 4 2 1
2 4 2 2
2 4 2 3
2 4 2 4
2 4 3 1
2 4 3 2
2 4 3 3
2 4 3 4
2 4 4 1
2 4 4 2
2 4 4 3
2 4 4 4
3 1 1 1
3 1 1 2
3 1 1 3
3 1 1 4
3 1 2 1
3 1 2 2
3 1 2 3
3 1 2 4
3 1 3 1
3 1 3 2
3 1 3 3
3 1 3 4
3 1 4 1
3 1 4 2
3 1 4 3
3 1 4 4
3 2 1 1
3 2 1 2
3 2 1 3
3 2 1 4
3 2 2 1
3 2 2 2
3 2 2 3
3 2 2 4
3 2 3 1
3 2 3 2
3 2 3 3
3 2 3 4
3 2 4 1
3 2 4 2
3 2 4 3
3 2 4 4
3 3 1 1
3 3 1 2
3 3 1 3
3 3 1 4
3 3 2 1
3 3 2 2
3 3 2 3
3 3 2 4
3 3 3 1
3 3 3 2
3 3 3 3
3 3 3 4
3 3 4 1
3 3 4 2
3 3 4 3
3 3 4 4
3 4 1 1
3 4 1 2
3 4 1 3
3 4 1 4
3 4 2 1
3 4 2 2
3 4 2 3
3 4 2 4
3 4 3 1
3 4 3 2
3 4 3 3
3 4 3 4
3 4 4 1
3 4 4 2
3 4 4 3
3 4 4 4
4 1 1 1
4 1 1 2
4 1 1 3
4 1 1 4
4 1 2 1
4 1 2 2
4 1 2 3
4 1 2 4
4 1 3 1
4 1 3 2
4 1 3 3
4 1 3 4
4 1 4 1
4 1 4 2
4 1 4 3
4 1 4 4
4 2 1 1
4 2 1 2
4 2 1 3
4 2 1 4
4 2 2 1
4 2 2 2
4 2 2 3
4 2 2 4
4 2 3 1
4 2 3 2
4 2 3 3
4 2 3 4
4 2 4 1
4 2 4 2
4 2 4 3
4 2 4 4
4 3 1 1
4 3 1 2
4 3 1 3
4 3 1 4
4 3 2 1
4 3 2 2
4 3 2 3
4 3 2 4
4 3 3 1
4 3 3 2
4 3 3 3
4 3 3 4
4 3 4 1
4 3 4 2
4 3 4 3
4 3 4 4
4 4 1 1
4 4 1 2
4 4 1 3
4 4 1 4
4 4 2 1
4 4 2 2
4 4 2 3
4 4 2 4
4 4 3 1
4 4 3 2
4 4 3 3
4 4 3 4
4 4 4 1
4 4 4 2
4 4 4 3
4 4 4 4

We can use below condition inside inner most for loop to eliminate displaying repeated numbers. As shown in below code:

Source Code: C Program To Generate All Combinations of 1, 2, 3 and 4, without Repetition

#include<stdio.h>

int main()
{
    int i, j, k, l;

    for(i = 1; i <= 4; i++)
    {
        for(j = 1; j <= 4; j++)
        {
            for(k = 1; k <= 4; k++)
            {
                for(l = 1; l <= 4; l++)
                {
                    if(i != j && i != k && i != l && j != k && j != l && k != l)
                        printf("%d %d %d %d\n", i, j, k, l);
                }
            }
        }
    }

    return 0;
}

Output:
1 2 3 4
1 2 4 3
1 3 2 4
1 3 4 2
1 4 2 3
1 4 3 2
2 1 3 4
2 1 4 3
2 3 1 4
2 3 4 1
2 4 1 3
2 4 3 1
3 1 2 4
3 1 4 2
3 2 1 4
3 2 4 1
3 4 1 2
3 4 2 1
4 1 2 3
4 1 3 2
4 2 1 3
4 2 3 1
4 3 1 2
4 3 2 1

For list of all c programming interviews / viva question and answers visit: C Programming Interview / Viva Q&A List

For full C programming language free video tutorial list visit:C Programming: Beginner To Advance To Expert

C Program To Find Sum of Series 1/1! + 2/2! + 3/3! + …. + n/n!

Lets write a C program to add first seven terms of the following series 1 / 1! + 2 / 2! + 3 / 3! + ….. + 7 / 7!

We’ve also written the C program to ask the user to enter the number of terms of the series that has to be added. You can find code to both of it below.

Related Read:
For Loop In C Programming Language
while loop in C programming
C Program To Find Factorial of a Number using For Loop

C Program To Find Sum of Series 1/1! + 2/2! + 3/3! + …. + n/n!


[youtube https://www.youtube.com/watch?v=Nok-OqhKpDY]

YouTube Link: https://www.youtube.com/watch?v=Nok-OqhKpDY [Watch the Video In Full Screen.]


Source Code: C Program To Find Sum of Series 1/1! + 2/2! + 3/3! + …. + 7/7!

 

int main()
{
    int num = 1, count;
    float sum = 0.0, fact;

    while(num <= 7)
    {
        fact = 1;
        for(count = 1; count <= num; count++)
        {
            fact = fact * count;
        }

        sum = sum + (num / fact);

        num++;
    }

    printf("Sum of series is %f\n", sum);

    return 0;
}

Output:
Sum of series is 2.718056

In above code, while loop iterates from 1 to 7. For each iteration for loop calculates the factorial of the selected number – which is present in variable num. Outside for loop, we add the individual series elements. At the end of while loop execution, variable sum will have sum of 7 terms of the series.

Source Code: C Program To Find Sum of Series 1/1! + 2/2! + 3/3! + …. + n/n!

 

int main()
{
    int num = 1, count, limit;
    float sum = 0.0, fact;

    printf("Enter the number of terms\n");
    scanf("%d", &limit);

    while(num <= limit)
    {
        fact = 1;
        for(count = 1; count <= num; count++)
        {
            fact = fact * count;
        }

        sum = sum + (num / fact);

        num++;
    }

    printf("Sum of %d terms of series is %f\n", limit, sum);

    return 0;
}

Output 1:
Enter the number of terms
7
Sum of 7 terms of series is 2.718056

Output 2:
Enter the number of terms
8
Sum of 8 terms of series is 2.718254

In above code, we ask the user to enter the number of terms in the series that needs to be added. While loop iterates until the user entered number of times. Inside for loop we calculate the factorial of the selected number(number is selected by while loop and it’ll be present in variable num). Outside the for loop we add the individual series element. At the end of execution of while loop we’ll have sum of the series until user entered number of terms in the series.

For list of all c programming interviews / viva question and answers visit: C Programming Interview / Viva Q&A List

For full C programming language free video tutorial list visit:C Programming: Beginner To Advance To Expert

C Program To Find Factorial of a Number using For Loop

Write a C program to find Factorial of a user input number, using for loop.

Related Read:
For Loop In C Programming Language
C Program To Find Factorial of a Number using While Loop

Example:
Factorial of 5 is 120 (1 x 2 x 3 x 4 x 5 = 120).

In general, n objects can be arranged in n(n – 1)(n – 2) … (3)(2)(1) ways. This product is represented by the symbol n!, which is called n factorial. By convention, 0! = 1.

Source Code: C Program To Find Factorial of a Number using For Loop

 
#include<stdio.h>
int main()
{
    int num, count, fact = 1;

    printf("Enter a number to find its Factorial\n");
    scanf("%d", &num);

    for(count = 1; count <= num; count++)
    {
        fact = fact * count;
    }

    printf("Factorial of %d is %d\n", num, fact);

    return 0;
}

Output 1:
Enter a number to find its Factorial
5
Factorial of 5 is 120

Output 2:
Enter a number to find its Factorial
4
Factorial of 4 is 24

Output 3:
Enter a number to find its Factorial
3
Factorial of 3 is 6

Output 4:
Enter a number to find its Factorial
6
Factorial of 6 is 720

Output 5:
Enter a number to find its Factorial
0
Factorial of 0 is 1

C Program To Find Factorial of a Number using For Loop


[youtube https://www.youtube.com/watch?v=0YENXAwrlSI]

YouTube Link: https://www.youtube.com/watch?v=0YENXAwrlSI [Watch the Video In Full Screen.]


Logic To Find Factorial of a Number using For Loop

If user enters num as 4. Then here are the values of variable count and fact for each iteration of for loop.

Iteration 1
count = 1;
fact = 1;

fact = fact * count;
fact = 1 * 1;

count = 2; // value of count increments by 1 for each iteration.
fact = 1;

Iteration 2
count = 2;
fact = 1;

fact = fact * count;
fact = 1 * 2;

count = 3; // value of count increments by 1 for each iteration.
fact = 2;

Iteration 3
count = 3;
fact = 2;

fact = fact * count;
fact = 2 * 3;

count = 4; // value of count increments by 1 for each iteration.
fact = 6;

Iteration 4
count = 4;
fact = 6;

fact = fact * count;
fact = 6 * 4;

count = 5; // value of count increments by 1 for each iteration.
fact = 24;

Now the value of count is 5, which is greater than the user input number 4. So the control exits for loop. We print the value present inside variable fact as the Factorial of the number. So in this case, 24 is the Factorial of number 4.

For list of all c programming interviews / viva question and answers visit: C Programming Interview / Viva Q&A List

For full C programming language free video tutorial list visit:C Programming: Beginner To Advance To Expert

C Program To Fill Screen With Smiling Face

Lets write a C program to fill the entire screen with a smiling face. The smiling face has an ASCII value 1.

Related Read:
For Loop In C Programming Language
Nested For Loop In C Programming Language

Video Tutorial: C Program To Fill Screen With Smiling Face


[youtube https://www.youtube.com/watch?v=azFIGQa1GqQ]

YouTube Link: https://www.youtube.com/watch?v=azFIGQa1GqQ [Watch the Video In Full Screen.]

Source Code: C Program To Fill Screen With Smiling Face: For Loop

#include<stdio.h>
int main()
{
    int i;

    for(i = 0; i <= 5000; i++)
    {
           printf("%c", 1);
    }
    return 0;
}

Output:

☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺
☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺
☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺
☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺
☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺
☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺
☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺

Smiling face will be printed 5000 times. There is no logic to printing it 5000 times. It’s just a random number we selected which prints a lot of smiling faces on to the console window.

Source Code: C Program To Fill Screen With Smiling Face: Nested For Loop

#include<stdio.h>

int main()
{
    int r, c;

    for(r = 0; r <= 43; r++)
    {
        for(c = 0; c <= 79; c++)
        {
           printf("%c", 1);
        }
    }
    return 0;
}

Output:

☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺
☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺
☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺
☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺
☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺
☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺
☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺☺

Above code will print smiling faces 43 x 79 times. I just tested some random number of rows and columns and came up with these numbers. Your console window might have different number of rows and columns.

For list of all c programming interviews / viva question and answers visit: C Programming Interview / Viva Q&A List

For full C programming language free video tutorial list visit:C Programming: Beginner To Advance To Expert

C Program To Find Prime Numbers Between Range, using For Loop

Lets write a C program to find and print/display all the prime numbers between 2 integer values input by the user, using nested for loop.

Prime Number: Any natural number which is greater than 1 and has only two factors i.e., 1 and the number itself is called a prime number.

Related Read:
Decision Control Instruction In C: IF
Nested For Loop In C Programming Language
break Statement In C Programming Language
C Program To Find Prime Number or Not using For Loop
C Program To Find Prime Numbers From 2 To N, using For Loop

Video Tutorial: C Program To Find Prime Numbers Between Range, using For Loop


[youtube https://www.youtube.com/watch?v=r1kVO45iaLw]

YouTube Link: https://www.youtube.com/watch?v=r1kVO45iaLw [Watch the Video In Full Screen.]

Logic To Find Prime Number Between Range, using For Loop

We ask the user to enter start and end value. We check if the value of variable start is greater than variable end. If true, we swap the values of variable start and end.

Outer For Loop Logic

We assign value of start to num and keep iterating the for loop until num is less than or equal to value of variable end. For each iteration of outer for loop num will increment by 1, from start to end value.

Inner For loop Logic

All the numbers are perfectly divisible by number 1, so we initialize the variable count to 2, instead of 1. So our inner for loop starts checking for divisibility from number 2.

The selected number(selected by outer for loop and stored in variable num), is divided by numbers 2 to num-1 times. If num is perfectly divisible by any number between 2 to num-1, then the number is not a prime number, else its a prime number.

Source Code: C Program To Find Prime Numbers Between Range, using For Loop

#include<stdio.h>
#include<math.h>

int main()
{
    int start, end, num, count, prime, temp, inum;

    printf("Enter start and end value\n");
    scanf("%d%d", &start, &end);

    if(start > end)
    {
        temp = start;
        start= end;
        end  = temp;
    }

    printf("Prime Numbers between %d and %d are\n", start, end);

    for(num = start; num <= end; num++)
    {
        prime = 1;
        inum  = sqrt(num);
        for(count = 2; count <= inum; count++)
        {
            if(num % count == 0)
            {
                prime = 0;
                break;
            }
        }

        if(prime) printf("%d,\t", num);
    }

    return 0;
}

Output 1:
Enter start and end value
10
20
Prime Numbers between 10 and 20 are
11, 13, 17, 19,

Output 2:
Enter start and end value
20
10
Prime Numbers between 10 and 20 are
11, 13, 17, 19,

Output 3:
Enter start and end value
25
60
Prime Numbers between 25 and 60 are
29, 31, 37, 41, 43, 47, 53, 59,

Output 4:
Enter start and end value
50
150
Prime Numbers between 50 and 150 are
53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149,

Output 5:
Enter start and end value
5
41
Prime Numbers between 5 and 41 are
5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41,

Logic To Find Prime Number, using For Loop

In this method, we apply square root to the selected number and store it inside variable inum. This reduces the number of iterations of inner while loop.

For example,
If num = 41;
inum = sqrt(num);
inum = sqrt(41);
inum = 6;

User entered number 41 is not perfectly divisible by any number between 2 to 6, so number 41 is a prime number.

So its enough if we iterate through the while loop sqrt(num) times to check if the selected number is divisible by any number other than 1 and itself.

Table of all prime numbers up to 1,000:

prime number or not

Note: We are not using curly braces around if statement because we only have 1 line of code after if – so curly braces are optional. If we have multiple lines of code, then we must use curly braces to wrap around the block of code.

You can also watch C Program To Find Prime Numbers Between Two Intervals, using While Loop video tutorial.

For list of all c programming interviews / viva question and answers visit: C Programming Interview / Viva Q&A List

For full C programming language free video tutorial list visit:C Programming: Beginner To Advance To Expert