C言語で平年と閏年を判定する方法

C言語で平年と閏年を判定する方法は次の通りです。

  1. 条件分岐(if-else)を用いて判別
#include <stdio.h>

int main() {
    int year;
    printf("请输入年份:");
    scanf("%d", &year);

    if (year % 4 == 0) {
        if (year % 100 == 0) {
            if (year % 400 == 0) {
                printf("%d 年是闰年。\n", year);
            } else {
                printf("%d 年是平年。\n", year);
            }
        } else {
            printf("%d 年是闰年。\n", year);
        }
    } else {
        printf("%d 年是平年。\n", year);
    }

    return 0;
}
  1. 三項演算子による判定
#include <stdio.h>

int main() {
    int year;
    printf("请输入年份:");
    scanf("%d", &year);

    // 使用三目运算符判断是否为闰年
    int isLeapYear = ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0);

    // 输出结果
    if (isLeapYear) {
        printf("%d 年是闰年。\n", year);
    } else {
        printf("%d 年是平年。\n", year);
    }

    return 0;
}

4で割り切れて100で割り切れない年は閏年、または400で割り切れる年も閏年です。それ以外の年は平年です。

bannerAds