How to write a C Program to Find Product of Digits Of a Number using For Loop, While Loop, Functions, and Recursion.
C Program to Find Product of Digits Of a Number using For Loop
This program allows the user to enter any positive integer. Next, it will divide the given number into individual digits, and finds the product of those individual digits using For Loop.
#include <stdio.h> int main() { int Number, Reminder, Product; printf("\n Please Enter any Number that you wish : "); scanf("%d", & Number); for(Product = 1; Number > 0; Number = Number / 10) { Reminder = Number % 10; Product = Product * Reminder; } printf(" \n The Product of Digits of a Given Number = %d", Product); return 0; }
Within this Program to Find Product of Digits Of a Number, User Entered value: Number = 234 and Product = 1.
First Iteration:
Reminder = Number % 10.
Reminder = 234 % 10 = 4.
Product = Product * Reminder = 1 * 4 = 4.
Number = Number / 10 = 234 / 10 = 23.
Second Iteration:
From the C Programming first Iteration, the values of both Number and Product has changed as Number = 23 and Product = 4.
Reminder = 23 % 10 = 3.
Product = 4 * 3 = 12.
Number = 23 / 10 = 2.
Third Iteration:
From the Second Iteration, the values of both Number and Product has changed as Number = 2 and Product = 12.
Reminder = 2 % 10 = 2.
Product = 12 * 2 = 24.
Number = 2 / 10 = 0.
Here Number = 0 so, the condition inside the For Loop will fail.
C Program to Find Product of Digits Of a Number using While Loop
This program to calculate product of digits in a number is the same as above but, we just replaced the For loop with the While Loop.
#include <stdio.h> int main() { int Number, Reminder, Product = 1; printf("\n Please Enter any Number that you wish : "); scanf("%d", & Number); while(Number != 0) { Reminder = Number % 10; Product = Product * Reminder; Number = Number / 10; } printf(" \n The Product of Digit of a Given Number = %d", Product); return 0; }
Please Enter any Number that you wish : 4568
The Product of Digit of a Given Number = 960
This program to Find the Product of the Digits Of a Number Using Functions is the same as the first example. But, we separated the code using Functions.
#include <stdio.h> int Product_Of_Digits (int); int main() { int Number, Product = 1; printf("\n Please Enter any number : "); scanf("%d", &Number); Product = Product_Of_Digits (Number); printf("\n The Product of all the digits of Given Number = %d", Product); return 0; } int Product_Of_Digits (int Number) { int Reminder, Product; for (Product = 1; Number > 0; Number = Number / 10) { Reminder = Number % 10; Product = Product * Reminder; } return Product; }
Please Enter any number : 7825
The Product of all the digits of Given Number = 560
C Program to Find Product of Digits Of a Number using Recursion
This program will find the product of individual digits in a given number by calling the function recursively. Please refer to Recursion for further reference on execution.
#include <stdio.h>
int ProdDi (int);
int main()
{
int Number, Prod = 1;
printf("\n Please Enter any number : ");
scanf("%d", &Number);
Prod = ProdDi (Number);
printf("\n The Product of all the digits of Given Number = %d", Prod);
return 0;
}
int ProdDi (int Number)
{
static int Reminder, Prod = 1;
if(Number > 0)
{
Reminder = Number % 10;
Prod = Prod * Reminder;
ProdDi (Number / 10);
return Prod
}
else
return 0;
}
Please Enter any number : 456
The Product of all the digits of Given Number = 120
Within this Program, Inside the function, the Static variable will initialize the value only when the function is called for the first time.
ProdDi (Number / 10) statement will call the function Recursively with the updated value. If you miss this statement, after completing the first line, it will terminate. For example, Number = 4567, and the output will be 7