偶数か奇数か判定する関数を実装
偶数か奇数か判定する関数を実装してみました。
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は偶数です
