C Program to Print Multiplication Table

This article will show how to write a C Program to Print multiplication table using the nested For loop and While Loop with an example.

C Program to Print Multiplication Table using For Loop

In the example, we are going to write a program to generate or print a multiplication table using the nested For Loop.

#include <stdio.h>

int main(void)
{
    int i, j;
    printf("Multiplication Table of 8 and 9 are: \n");
    for (i = 8; i < 10; i++)
    {
        for (j = 1; j <= 10; j++)
        {
            printf("%d * %d = %d\n",i ,j, i*j);
        }
        printf("\n ==========\n");
    }
    return 0;
}
C Program to Print Multiplication Table using for loop

This C program prints multiplication table for 8 and 9.

In the first for loop, i initialized to value 8, and then it will check whether i is less than 10. This condition will return to True until i reach 10. If this condition is True, then it will enter into second; otherwise, it will exit from it.

for (i = 8; i < 10; i++)

In the second for loop, j initialized to value 1. Then it will check whether i is less than or equal to 10. This condition will return True until j reaches 11. The concept of nesting one for inside another is called Nested For Loops.

If you find it difficult to understand the concept, Please refer to the C language For loop article in C programming.

for (j = 1; j <= 10; j++)

Iteration 1: i = 8 means the condition is True, so the C Program compiler will enter the second. Within the Second For, j = 1, and the condition j <= 10 is True, so the statement inside the loop will print

8 * 1 = 8

Now the value of j is incremented to 2
8 * 2 = 16

Program to Print Multiplication Table will repeat the for loop iteration process up to 10.

Now the value of j is 11, and the condition fails. So, it will exit from the second.

NOTE: It will only exit from the inner but not from the entire loop.

Iteration 2: i = 9, and the condition inside the code is True, so repeat the above process

Iteration 3: i = 10, and the condition is False. For loop is terminated, there is No need to check the second one.

C Program to Print Multiplication Table using While Loop

In this example, we are going to write a program for multiplication tables using While Loop. Within this program, the first two statements will ask the user to enter any integer value less than 10, and we are assigning the user-specified value to i using scanf.

Next, we used the While and For Loop to iterate the values. Please refer to While statement in C to understand the while loop functionality.

#include <stdio.h>

int main(void)
{
    int i, j =1;
    
    printf("Please enter any Positive Integer Less than 10 = ");
    scanf("%d", &i);
    
    printf("==========\n");
    while(i <= 10)
    {
        j = 1;
        while(j <= 10)
        {
            printf(" %d * %d = %d\n",i ,j, i * j);
            j++;
        }
        printf("==========\n");
        i++;
    }
    return 0;
}

Multiplication Table using a while Loop output.

Print Multiplication Table using while loop

C Program to print multiplication table using do while loop

In the following example, we use the do-while loop to print the multiplication table of 2. Here, we are printing the multiplication table of a single number (2 table from 1 to 10), so we don’t need nested loops. However, to print more than one multiplication table, we must use nested loops. Refer to the do while loop in C.

#include <stdio.h>
int main(void)
{
int n, i = 1;
printf("Enter integer value = ");
scanf("%d", &n);

do
{
printf("%d * %d = %d \n", n, i, n * i);
i++;
} while (i <= 10);
}
Enter integer value = 2
2 * 1 = 2 
2 * 2 = 4 
2 * 3 = 6 
2 * 4 = 8 
2 * 5 = 10 
2 * 6 = 12 
2 * 7 = 14 
2 * 8 = 16 
2 * 9 = 18 
2 * 10 = 20 

C Program to display the multiplication table up to a range

The following example lets the user enter a value of n to print the multiplication table of that number (18). This program does not display the complete multiplication table from 1 to 10 or 20. Instead, it lets the user specify the range up to which the table should be printed.

Here, we used an extra do-while loop to allow the user to enter a positive range value. If the user enters a negative number, it will prompt again for a positive number. You can remove this step if you are sure the user will enter a positive range value.

#include <stdio.h>
int main(void)
{
int n, range;
printf("Enter integer value = ");
scanf("%d", &n);

do
{
printf("Enter Positive Range value = ");
scanf("%d", &range);
} while (range <= 0);

for (int i = 1; i <= range; i++)
{
printf("%d * %d = %d \n", n, i, n * i);
}
}
Enter integer value = 18
Enter Positive Range value = 7
18 * 1 = 18
18 * 2 = 36
18 * 3 = 54
18 * 4 = 72
18 * 5 = 90
18 * 6 = 108
18 * 7 = 126 

C Program for multiplication table using a recursive function

In the following program, we declare a recursive function that calls itself to print the multiplication table of any given number from 1 to 10. It prints one line at a time and calls the function with an updated value. The process continues until i becomes 11. For example, first, it prints 25 * 1 = 25 and then calls mulTable with the updated i value. Refer to the recursion in c.

#include <stdio.h>
void mulTable(int n, int i)
{
if (i > 10)
{
return;
}
printf("%d * %d = %d \n", n, i, n * i);
mulTable(n, i + 1);
}
int main(void)
{
int n;
printf("Enter integer value = ");
scanf("%d", &n);

mulTable(n, 1);
}
Enter integer value = 25
25 * 1 = 25 
25 * 2 = 50 
25 * 3 = 75 
25 * 4 = 100 
25 * 5 = 125 
25 * 6 = 150 
25 * 7 = 175 
25 * 8 = 200 
25 * 9 = 225 
25 * 10 = 250 

Also Read