#include <iostream>
#include <cstdlib> // for std::abs
/*
Finds the smallest and largest digits in a number.
Parameters:
number - Input integer
smallest - Stores the smallest digit
largest - Stores the largest digit
*/
void findMinMaxDigits(int number, int& smallest, int& largest)
{
// Handle negative numbers
number = abs(number);
// Special case: number is 0
if (number == 0) {
smallest = largest = 0;
return;
}
smallest = 9;
largest = 0;
while (number > 0)
{
int digit = number % 10; // Extract last digit
if (digit < smallest)
smallest = digit;
if (digit > largest)
largest = digit;
number /= 10; // Remove last digit
}
}
int main()
{
int number = 839516;
int smallest, largest;
findMinMaxDigits(number, smallest, largest);
std::cout << "Smallest digit: " << smallest << std::endl;
std::cout << "Largest digit : " << largest << std::endl;
}
/*
run:
Smallest digit: 1
Largest digit : 9
*/