In this post, we will learn how to find the product of digits of a number using the C Programming language.
The below program asks the user to enter a number, then it calculates the product of its digit. For example: If the user enters a number 2436, then the product of its digits will be 2 x 4 x 3 x 6 = 144.
We will find the product of digits using the following approaches:
- Using While Loop
- Using For Loop
- Using Functions
So, without further ado, let’s begin this tutorial.
C Program to find Product of Digits in a Number
// C Program to Find Product of Digits of a Number #include <stdio.h> int main(){ int n, rem, prod = 1; // Asking for input printf("Enter a number: "); scanf("%d", &n); // Calculating product using while loop while (n != 0){ rem = n % 10; prod = prod * rem; n = n / 10; } // Displaying output printf("Product of digits is: %d", prod); return 0; }
Output
Enter a number: 5634
Product of digits is: 360
How Does This Program Work ?
int n, rem, prod = 1;
In this program, we have declared three integer data type variables named n, rem and prod. The prod variable has assigned a value of 1.
// Asking for input printf("Enter a number: "); scanf("%d", &n);
The user is asked to enter a number. The entered value gets stored in the n named variable.
// Calculating product using while loop while (n != 0){ rem = n % 10; prod = prod * rem; n = n / 10; }
The product of digits of the entered number is calculated using the while loop.
Suppose, the user enters a number 5634, then:
- 1st While Loop Iteration: while (5634 != 0), the condition is True.
- rem = n % 10 = 5634 % 10 = 4
- prod = prod * rem = 1 * 4 = 4
- n = n / 10 = 5634 / 10 = 563
- 2nd While Loop Iteration: while (563 != 0), the condition is True.
- rem = n % 10 = 563 % 10 = 3
- prod = prod * rem = 4 * 3 = 12
- n = n / 10 = 563 / 10 = 56
- 3rd While Loop Iteration: while (56 != 0), this condition is also True.
- rem = n % 10 = 56 % 10 = 6
- prod = prod * rem = 12 * 6 = 72
- n = n / 10 = 56 / 10 = 5
- 4th While Loop Iteration: while (5 != 0), this condition is True.
- rem = n % 10 = 5 % 10 = 5
- prod = prod * rem = 72 * 5 = 360
- n = n / 10 = 5 / 10 = 0
- 5th While Loop Iteration: while (0 != 0), here the condition is False, so the while loop terminates and we get prod = 360.
// Displaying output printf("Product of digits is: %d", prod);
The product of digits of the entered number is displayed on the screen using printf() function.
C Program to Find Product of Digits of a Number Using For Loop
// C Program to Find Product of Digits of a Number #include <stdio.h> int main(){ int number, i, rem; // Asking for input printf("Enter a number: "); scanf("%d", &number); for (i = 1; number > 0; number /= 10){ rem = number % 10; i = i * rem; } // Displaying output printf("The product of digits is: %d", i); return 0; }
Output
Enter a number: 2436
The product of digits is: 144
C Program to Find Product of Digits of a Number Using Function
// C Program to Find Product of Digits of a Number Using Function #include <stdio.h> int digitsProduct(int n){ int rem, prod = 1; while (n != 0){ rem = n % 10; prod = prod * rem; n = n / 10; } return prod; } int main(){ int number, result; // Asking for input printf("Enter a number: "); scanf("%d", &number); // Calling out custom function result = digitsProduct(number); // Displaying output printf("Product of digits: %d", result); return 0; }
Output
Enter a number: 12345
Product of digits: 120
Conclusion
I hope after going through this post, you understand how to find the product of digits of a number using the C Programming language.
If you have any doubt regarding the program, then contact us in the comment section. We will be delighted to assist you.
Also Read: