任意の数字を入力して、以下の条件で値を判別するプログラムを作っています。

  • 偶数で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("それ以外");
  }
}