首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> 關於C

C語言判斷閏年函數:標準規則實現與邊界測試

     編輯:關於C

閏年規則

  1. 能被 4 整除且不能被 100 整除 → 閏年。
  2. 能被 400 整除 → 閏年。
  3. 其餘 → 平年。

實現代碼


#include <stdio.h>

int is_leap_year(int year) {
    return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}

int main(void) {
    int year;
    printf("請輸入年份: ");
    scanf("%d", &year);
    if (is_leap_year(year))
        printf("%d 年是閏年\n", year);
    else
        printf("%d 年是平年\n", year);
    return 0;
}

測試用例

年份結果說明
2000閏年400 整除
1900平年100 整除但非 400
2024閏年4 整除非 100
2023平年不可整除
1600閏年400 整除
1700平年100 整除非 400

擴展:某年某月天數


int days_in_month(int year, int month) {
    static const int days[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
    if (month == 2 && is_leap_year(year)) return 29;
    return days[month-1];
}
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved