fork(2) download
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <limits.h>
  4.  
  5. char oneDigit[][10] = {"Khong", "Mot", "Hai", "Ba", "Bon", "Nam", "Sau", "Bay", "Tam", "Chin"};
  6. char base[][10] = {"", "Muoi", "Tram", "Nghin", "Muoi", "Tram", "Trieu", "Muoi", "Tram", "Ty", "Muoi", "Tram", "Nghin", "Muoi", "Tram", "Trieu", "Muoi", "Tram", "Ty"};
  7.  
  8. void d2w(long long a) {
  9. if (a < 10) {
  10. printf("%s ", oneDigit[a]);
  11. return;
  12. }
  13. int s[100] = {0};
  14. int i = 0;
  15. while (a > 0) {
  16. s[i++] = a % 10;
  17. a /= 10;
  18. }
  19. for (int j = i - 1; j >= 0; j--) {
  20. if (!strcmp(oneDigit[s[j]], "Khong") && !strcmp(base[j], "Muoi") && s[j - 1] != 0)
  21. printf("Linh ");
  22. else if (!strcmp(oneDigit[s[j]], "Mot") && !strcmp(base[j], "Muoi"))
  23. printf("Muoi ");
  24. else if (s[j] != 0 || !strcmp(base[j], "Tram")) {
  25. printf("%s ", oneDigit[s[j]]);
  26. printf("%s ", base[j]);
  27. } else if ((j % 3 == 0) && (s[j + 1] != 0 || s[j + 2] != 0))
  28. printf("%s ", base[j]);
  29. }
  30. }
  31.  
  32. int main() {
  33. long long n = 0;
  34. while (1) {
  35. printf("Enter an integer number: ");
  36. scanf("%lld", &n);
  37. printf("%lld in word is: ", n);
  38. d2w(n);
  39. printf("\n\nDo you want continue:\n");
  40. printf("1. Yes\n0. No\n");
  41. while (getchar() != '\n');
  42. if (getchar() == '0')
  43. break;
  44. }
  45. return 0;
  46. }
  47.  
Success #stdin #stdout 0s 9424KB
stdin
333333333333
0
stdout
Enter an integer number: 333333333333 in word is: Ba Tram Ba Muoi Ba Ty Ba Tram Ba Muoi Ba Trieu Ba Tram Ba Muoi Ba Nghin Ba Tram Ba Muoi Ba  

Do you want continue:
1. Yes
0. No