偶数か奇数か判定する関数を実装
偶数か奇数か判定する関数を実装してみました。
enumで偶数と奇数の定数を定義します。
typedef enum ret{ RET_EVEN = 0, RET_ODD }ret_t;
2で割ったあまりが0の時は偶数、そうでないなら奇数を返します。
int isEveOrOdd(int num){ if(num % 2 == 0){ return RET_EVEN; }else{ return RET_ODD; } }
配列で偶数と奇数の文字列を定義しておき、isEveOrOdd()の戻り値に応じて、偶数か奇数かをprintf出力するようにしました。
char* str[] = { "偶数", //RET_EVEN "奇数" //RET_ODD };
下記は、for文で1〜7までの整数を生成して、偶数か奇数かをprintf出力しています。
for(num = 1; num < 7; num++){ printf("%dは%sです\n", num, str[isEveOrOdd(num)]); }
サンプルコード
下記がサンプルコードになります。
$ cat sample.c #include <stdio.h> typedef enum ret{ RET_EVEN = 0, RET_ODD }ret_t; char* str[] = { "偶数", //RET_EVEN "奇数" //RET_ODD }; int isEveOrOdd(int num){ if(num % 2 == 0){ return RET_EVEN; }else{ return RET_ODD; } } int main(){ int num; for(num = 1; num < 7; num++){ printf("%dは%sです\n", num, str[isEveOrOdd(num)]); } return 0; } </stdio.h>
下記が実行結果になります。
$ gcc -o sample sample.c $ ./sample 1は奇数です 2は偶数です 3は奇数です 4は偶数です 5は奇数です 6は偶数です