if-elseを用いた数値の判別が、意図した通り動かない
任意の数字を入力して、以下の条件で値を判別するプログラムを作っています。
- 偶数で100以上
- 偶数で100未満
- 奇数で99未満
- それ以外
しかし、何を入れてもa
は「偶数かつ100以上」になります。なぜでしょうか。
#include <stdio.h>
int main() {
int a;
scanf("%d", &a);
if (a % 2 == 0 && a >= 100) {
printf("aは偶数かつ100以上");
}
else if (a % 2 == 0 && a < 100) {
printf("aは偶数かつ100未満");
}
else if (a % 2 == 1 && a >= 99) {
printf("aは奇数かつ99以上");
}
else {
printf("それ以外");
}
}