fork download
  1. // Forward declarations
  2. double sqrt(double x);
  3. int atoi(char (*string));
  4. int puts(char (*string));
  5. char (*strcpy(char (*dst), char (*src)));
  6. void string_of_int(int n, char (*s));
  7. int main(int argc, char (*(argv[])));
  8. // Definitions
  9. double sqrt(double x);
  10. int atoi(char (*string));
  11. int puts(char (*string));
  12. char (*strcpy(char (*dst), char (*src)));
  13. void string_of_int(int n, char (*s))
  14. #line 8 "examples/fizzbuzz.ion"
  15. {
  16. int negative = 0;
  17. #line 11 "examples/fizzbuzz.ion"
  18. if (((n) < (0)))
  19. #line 11 "examples/fizzbuzz.ion"
  20. {
  21. #line 12 "examples/fizzbuzz.ion"
  22. n=(-n);
  23. #line 13 "examples/fizzbuzz.ion"
  24. negative=1;
  25. }
  26. #line 16 "examples/fizzbuzz.ion"
  27. if (((n) < (0)))
  28. #line 16 "examples/fizzbuzz.ion"
  29. {
  30. #line 17 "examples/fizzbuzz.ion"
  31. strcpy(s, "INT_MIN");
  32. #line 19 "examples/fizzbuzz.ion"
  33. return;
  34. }
  35. #line 21 "examples/fizzbuzz.ion"
  36. if ((!n))
  37. #line 21 "examples/fizzbuzz.ion"
  38. {
  39. int i = 0;
  40. #line 23 "examples/fizzbuzz.ion"
  41. s[i]='0';
  42. #line 23 "examples/fizzbuzz.ion"
  43. i++;
  44. #line 24 "examples/fizzbuzz.ion"
  45. s[i]='\x00';
  46. #line 24 "examples/fizzbuzz.ion"
  47. i++;
  48. #line 26 "examples/fizzbuzz.ion"
  49. return;
  50. }
  51. int digitCount = 0;
  52. #line 30 "examples/fizzbuzz.ion"
  53. if (negative)
  54. #line 30 "examples/fizzbuzz.ion"
  55. {
  56. #line 31 "examples/fizzbuzz.ion"
  57. digitCount++;
  58. }
  59. int k = n;
  60. #line 34 "examples/fizzbuzz.ion"
  61. while (((k) > (0)))
  62. #line 34 "examples/fizzbuzz.ion"
  63. {
  64. #line 35 "examples/fizzbuzz.ion"
  65. digitCount+=1;
  66. #line 36 "examples/fizzbuzz.ion"
  67. k=((k) / (10));
  68. }
  69. #line 39 "examples/fizzbuzz.ion"
  70. s[digitCount]=0;
  71. #line 40 "examples/fizzbuzz.ion"
  72. k=n;
  73. int i = ((digitCount) - (1));
  74. #line 43 "examples/fizzbuzz.ion"
  75. do
  76. #line 43 "examples/fizzbuzz.ion"
  77. {
  78. #line 44 "examples/fizzbuzz.ion"
  79. s[i]=(('0') + (((k) % (10))));
  80. #line 45 "examples/fizzbuzz.ion"
  81. k/=10;
  82. #line 46 "examples/fizzbuzz.ion"
  83. i--;
  84. }
  85. #line 43 "examples/fizzbuzz.ion"
  86. while(((k) > (0)));
  87. #line 49 "examples/fizzbuzz.ion"
  88. if (negative)
  89. #line 49 "examples/fizzbuzz.ion"
  90. {
  91. #line 50 "examples/fizzbuzz.ion"
  92. s[0]='-';
  93. }
  94. }
  95.  
  96. static char * ARGV[] = { "myprog", "100", "world", 0 };
  97. static int ARGC=3;
  98. int main(int argc, char (*(argv[])))
  99. #line 55 "examples/fizzbuzz.ion"
  100. {
  101. argc = ARGC;
  102. argv = ARGV;
  103. #line 56 "examples/fizzbuzz.ion"
  104. if (((argc) < (2)))
  105. #line 56 "examples/fizzbuzz.ion"
  106. {
  107. #line 57 "examples/fizzbuzz.ion"
  108. puts("usage: fizzbuzz N");
  109. #line 58 "examples/fizzbuzz.ion"
  110. puts("\tprints fizzuzz sequence up to n");
  111. #line 60 "examples/fizzbuzz.ion"
  112. return 1;
  113. }
  114. int n = atoi(argv[1]);
  115. int i = 1;
  116. #line 65 "examples/fizzbuzz.ion"
  117. while (((i) <= (n)))
  118. #line 65 "examples/fizzbuzz.ion"
  119. {
  120. char (buf[256])= {0};
  121. #line 67 "examples/fizzbuzz.ion"
  122. if (((((i) % (15))) == (0)))
  123. #line 67 "examples/fizzbuzz.ion"
  124. {
  125. #line 68 "examples/fizzbuzz.ion"
  126. puts("FizzBuzz");
  127. } else if (((((i) % (3))) == (0)))
  128. #line 69 "examples/fizzbuzz.ion"
  129. {
  130. #line 70 "examples/fizzbuzz.ion"
  131. puts("Fizz");
  132. } else if (((((i) % (5))) == (0)))
  133. #line 71 "examples/fizzbuzz.ion"
  134. {
  135. #line 72 "examples/fizzbuzz.ion"
  136. puts("Buzz");
  137. }
  138. else
  139. #line 73 "examples/fizzbuzz.ion"
  140. {
  141. #line 74 "examples/fizzbuzz.ion"
  142. string_of_int(i, buf);
  143. #line 75 "examples/fizzbuzz.ion"
  144. puts(buf);
  145. }
  146. #line 77 "examples/fizzbuzz.ion"
  147. i++;
  148. }
  149. }
Success #stdin #stdout 0s 4516KB
stdin
Standard input is empty
stdout
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
16
17
Fizz
19
Buzz
Fizz
22
23
Fizz
Buzz
26
Fizz
28
29
FizzBuzz
31
32
Fizz
34
Buzz
Fizz
37
38
Fizz
Buzz
41
Fizz
43
44
FizzBuzz
46
47
Fizz
49
Buzz
Fizz
52
53
Fizz
Buzz
56
Fizz
58
59
FizzBuzz
61
62
Fizz
64
Buzz
Fizz
67
68
Fizz
Buzz
71
Fizz
73
74
FizzBuzz
76
77
Fizz
79
Buzz
Fizz
82
83
Fizz
Buzz
86
Fizz
88
89
FizzBuzz
91
92
Fizz
94
Buzz
Fizz
97
98
Fizz
Buzz