fork download
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. #define FBGSTR_MAX 32
  5.  
  6. typedef struct fbgst_ {
  7. int num;
  8. char str[FBGSTR_MAX];
  9. } fbgst;
  10.  
  11. typedef union fbg_ {
  12. int num;
  13. fbgst st;
  14. } fbg;
  15.  
  16. fbg fizz(fbg n);
  17. fbg buzz(fbg n);
  18. fbg gizz(fbg n);
  19. fbg fbgfunc(fbg n,int m,char *str);
  20. void fbg_p(fbg o);
  21.  
  22. int main(){
  23. fbg_p( buzz(fizz((fbg)1)) );
  24. fbg_p( buzz(fizz((fbg)3)) );
  25. fbg_p( buzz(fizz((fbg)5)) );
  26. fbg_p( buzz(fizz((fbg)15)) );
  27. fbg_p( gizz(buzz(fizz((fbg)7))) );
  28. fbg_p( gizz(buzz(fizz((fbg)21))) );
  29. fbg_p( gizz(buzz(fizz((fbg)35))) );
  30. fbg_p( gizz(buzz(fizz((fbg)105))) );
  31. fbg_p( buzz(gizz(fizz((fbg)105))) );
  32. return 0;
  33. }
  34.  
  35. fbg fizz(fbg n){
  36. return fbgfunc(n,3,"Fizz");
  37. }
  38.  
  39. fbg buzz(fbg n){
  40. return fbgfunc(n,5,"Bizz");
  41. }
  42.  
  43. fbg gizz(fbg n){
  44. return fbgfunc(n,7,"Gizz");
  45. }
  46.  
  47. fbg fbgfunc(fbg n,int m,char *str){
  48. if(n.st.num%m==0){
  49. strcat(n.st.str,str);
  50. }
  51. return n;
  52. }
  53.  
  54. void fbg_p(fbg o){
  55. if(o.st.str[0] == 0){
  56. printf("%d\n",o.st.num);
  57. }else{
  58. puts(o.st.str);
  59. }
  60. }
  61.  
Success #stdin #stdout 0.02s 1680KB
stdin
Standard input is empty
stdout
1
Fizz
Bizz
FizzBizz
Gizz
FizzGizz
BizzGizz
FizzBizzGizz
FizzGizzBizz