[ create a new paste ] login | about

Link: http://codepad.org/AFBi9lR9    [ raw code | output | fork ]

C, pasted on May 16:
/*FizzBuzzの判定を行うプログラム*/

//デバッグが終わったらコメントアウトを外す
#define NDEBUG

#include <stdio.h>
#include <assert.h>

#define SAIDAI 100		//判定する値の最大値(最小は1からとする)
#define FIZZ 3			//Fizzと判定する倍数
#define BUZZ 5			//Buzzと判定する倍数
#define FIZZBUZZ (FIZZ*BUZZ)	//FizzBuzzと判定する倍数



/*プロトタイプ宣言*/
int func();

int main(void){

/*変数宣言*/
	int max=SAIDAI;
	int f=FIZZ;
	int b=BUZZ;
	int fb=FIZZBUZZ;
	int i;

/*FizzBuzz判定を行うfunc関数を、指定回数ループさせる*/

	for(i=1;i<max+1;i++){
		func(i,f,b,fb);
	}

/*assertでテストを行う*/
#if !defined(NDEBUG)
	printf("ここから下はassertの出力です\n");
#endif
	assert(func(1,3,5,15)==3);
	assert(func(3,3,5,15)==1);
	assert(func(5,3,5,15)==2);
	assert(func(15,3,5,15)==0);

	return 0;

}

/*FizzBuzz判定を行うfunc関数

引数  int i	判定する数字
	int f	Fizzと判定する倍数
	int b	Buzzと判定する倍数
	int fb	FizzBuzzと判定する倍数

戻り値 int hantei:判定結果を代入する変数
		hantei=0 FizzBuzz
		hantei=1 Fizz
		hantei=2 Buzz
		hantei=3 それ以外(出力は数字そのものを表示)
*/
int func(int i,int f,int b,int fb){
	
	int hantei=-1;
	
	if(i%fb==0){
		printf("FizzBuzz\n");
		hantei=0;

	}else if(i%f==0){
		printf("Fizz\n");
		hantei=1;

	}else if(i%b==0){
		printf("Buzz\n");
		hantei=2;

	}else{
		printf("%d\n",i);
		hantei=3;
	}
	return hantei;
}


Output:
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


Create a new paste based on this one


Comments: