## C Program To Find Smallest Digit of a Number

Learn How To Find Smallest Digit of a Number in C Programming Language. This C Program To Search the Smallest Digit in an Integer makes use of **Division** and **Modulus** operators primarily. The Modulus operator is used to **extract** the digit at the end of a given number.

We have written two methods to Search for the Smallest Digit in a Number which includes a While Loop and a For Loop. Here, we have initialized the variable **small** with **10** as it is the highest value any digit in a number can be. So, whenever you fetch any digit, it can go upto 9 as its maximum value.

#### C Program To Find Smallest Digit of a Number using While Loop

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #include<stdio.h> int main() { int num, temp = 0, small = 10; printf("\nEnter A Number:\t"); scanf("%d", &num); while(num > 0) { temp = num%10; if(temp < small) { small = temp; } num = num / 10; } printf("\nSmallest Digit in the Integer: \t%d\n", small); return 0; } |

#### C Code To Find The Smallest Digit in an Integer using For Loop

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #include<stdio.h> int main() { int num, temp = 0, small = 10; printf("\nEnter A Number:\t"); scanf("%d", &num); for(; num>0; num = num / 10) { temp = num%10; if(temp < small) { small = temp; } } printf("\nSmallest Digit in the Integer: \t%d\n", small); return 0; } |

#### Output

In case you find any error in the above C Program Code To Find Smallest Digit of a Number or if you have any doubts, let us know about it in the Comment Section below.

To find smallest digit in an integer, why do we need to use modulus operator. I am confused with it. Please help

Modulus Operator is primarily used to extract the last digit of any number. You can extract and store the last digit in any other variable. Example: temp = num%10

I am not understanding the difference between Modulus and Division operator in this C Program to find smallest digit in an integer. Please help.