fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main ()
  4. {
  5. int digit_count, // the number of digits
  6. digit_10, // determine digit value of 10, ones,
  7. // tens, hundreds, thousands, etc
  8. i, // loop counter
  9. left_digit, // the leftmost digit of the current number
  10. new_num, // temporary number value
  11. number, // current number
  12. orig_number; // the number the user typed in
  13.  
  14. // initialize variables
  15. digit_count = 0;
  16. digit_10 = 1;
  17.  
  18. // prompt for a number
  19. printf ("Enter your number: ");
  20. scanf ("%d", &number);
  21.  
  22. // save the original number for later
  23. orig_number = number;
  24.  
  25. // echo the number entered to the screen
  26. printf ("\nThe number %i is: ", number);
  27.  
  28. // Print zero and exit if the number is 0
  29. if (orig_number ==0)
  30. {
  31. printf ("zero \n");
  32. exit (0);
  33. }
  34. else if (orig_number < 0)
  35. {
  36. fprintf (stderr, "Error, neg numbers are not allowed \n");
  37. exit (EXIT_FAILURE);
  38. }
  39.  
  40. // determine the number of digits
  41. while (number != 0)
  42. {
  43. number = number / 10;
  44. digit_count++;
  45. digit_10 = digit_10 * 10;
  46. } // digit count while loop
  47.  
  48. // determine each digit starting from the left, one digit at a time
  49. i = digit_count;
  50. new_num = orig_number;
  51. digit_10/=10;
  52.  
  53. while (i != 0)
  54. {
  55. left_digit = new_num / digit_10;
  56. new_num = new_num % digit_10;
  57. digit_10 /=10;
  58. i--;
  59.  
  60. // print the English value of the current left digit
  61. switch(left_digit)
  62. {
  63. case 0:
  64. printf ("zero ");
  65. break;
  66. case 1:
  67. printf ("one ");
  68. break;
  69. case 2:
  70. printf ("two ");
  71. break;
  72. case 3:
  73. printf ("three ");
  74. break;
  75. case 4:
  76. printf ("four ");
  77. break;
  78. case 5:
  79. printf ("five ");
  80. break;
  81. case 6:
  82. printf ("six ");
  83. break;
  84. case 7:
  85. printf ("seven ");
  86. break;
  87. case 8:
  88. printf ("eight ");
  89. break;
  90. case 9:
  91. printf ("nine ");
  92. break;
  93. default:
  94. printf ("invalid ");
  95. break;
  96. } // end switch
  97.  
  98.  
  99. } // while loop for left digits
  100.  
  101. printf ("\n"); // new line before quitting
  102. return (0);
  103. } // end main
Success #stdin #stdout 0.01s 5328KB
stdin
932
stdout
Enter your number: 
The number 932 is: nine three two