Hello everyone

Newbie here, I am self-learning C using Programming in C by Steve kochan, I am currently doing Chapter 6 exercise 6 for those that have worked with this book before,

Program simply takes a number from the user, and writes it out in words, (932 = nine three two), my logic when I wrote it was to have a loop reversed the number and then have another loop stracking the last digit using modulus and the print it out with a switch statement, so far so good.

But when I go and input number 0, because of the modulus operation it gets lost of course and it ends up not printing.

Here is my code

Code:
 // program that takes an integer and prints out the word

#include <stdio.h>

int main(void)
{
      int userNumber, tempNumber, rightDigit, newNumber = 0;

      printf("Please enter any nonnegstive 3 digit number: ");
      scanf_s("%i", &userNumber);     // ask for users input
  
      if (userNumber < 0 || userNumber > 999)
     {
           printf("Number is out of the range!\n");    
     }                            // checks for numbers outside of range 
 
     do
     {                // loop to reverse the number, ex 932 to 239
           rightDigit = userNumber % 10;
           tempNumber = rightDigit;
              
           if (userNumber > 99 && userNumber < 1000)
          {
          tempNumber *= 100;
          newNumber += tempNumber;
          }
          else if (userNumber > 9 && userNumber < 100)
         {
          tempNumber *= 10;
          newNumber += tempNumber;
          }
          else if (userNumber >= 0 && userNumber < 10)
         {
          newNumber += tempNumber;
         }
        userNumber /= 10;
 } while (userNumber != 0);

 do
 {            // loop to extrac the last digit and assigned the word in   english for that number
       rightDigit = newNumber % 10;

       switch (rightDigit)
       {
        case 1: 
             printf("One ");
              break;
        case 2:
            printf("Two ");
            break;
       case 3:
            printf("Three ");
            break;
       case 4:
           printf("Four ");
           break;
      case 5:
          printf("Five ");
          break;
      case 6:
         printf("Six ");
         break;
     case 7:
         printf("Seven ");
         break;
     case 8: 
         printf("Eight ");
         break;
     case 9:
        printf("Nine ");
        break;
     case 0:
        printf("Zero");
        break;
     default:
        break;
  }

  newNumber /= 10;

 } while (newNumber != 0);

 printf("\n");

 return 0;
}
I know I can look up this problem online and find its solution but I am trying to avoid doing that until I finish it to compare my code and someone else,

Any help will be appreciated

Thanks