91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

如何用c語言求兩個日期之間的天數

小億
218
2024-03-27 09:22:16
欄目: 編程語言

以下是一個簡單的C程序,用于計算兩個日期之間的天數:

#include <stdio.h>

// 計算閏年的函數
int leapYear(int year) {
    if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
        return 1;
    } else {
        return 0;
    }
}

// 計算某年某月的天數
int daysInMonth(int year, int month) {
    int days[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
    
    if (leapYear(year) && month == 2) {
        return 29;
    } else {
        return days[month - 1];
    }
}

// 計算從公元1年1月1日到某年某月某日的天數
int daysFromYear1(int year, int month, int day) {
    int days = 0;
    
    for (int y = 1; y < year; y++) {
        days += leapYear(y) ? 366 : 365;
    }
    
    for (int m = 1; m < month; m++) {
        days += daysInMonth(year, m);
    }
    
    days += day - 1;
    
    return days;
}

// 計算兩個日期之間的天數
int daysBetweenDates(int year1, int month1, int day1, int year2, int month2, int day2) {
    int days1 = daysFromYear1(year1, month1, day1);
    int days2 = daysFromYear1(year2, month2, day2);
    
    return days2 - days1;
}

int main() {
    int year1, month1, day1, year2, month2, day2;
    printf("請輸入第一個日期(年 月 日):");
    scanf("%d %d %d", &year1, &month1, &day1);
    printf("請輸入第二個日期(年 月 日):");
    scanf("%d %d %d", &year2, &month2, &day2);
    
    int days = daysBetweenDates(year1, month1, day1, year2, month2, day2);
    printf("兩個日期之間的天數為:%d\n", days);
    
    return 0;
}

這個程序首先通過leapYear函數計算是否為閏年,然后通過daysInMonth函數計算某年某月的天數,接著通過daysFromYear1函數計算從公元1年1月1日到某年某月某日的天數,最后通過daysBetweenDates函數計算兩個日期之間的天數。

0
定安县| 永年县| 建宁县| 阿城市| 西林县| 沾益县| 儋州市| 马关县| 乐至县| 武鸣县| 额济纳旗| 花垣县| 双江| 高要市| 仪陇县| 女性| 砀山县| 洞口县| 乃东县| 呼伦贝尔市| 逊克县| 黄梅县| 定南县| 嘉祥县| 开原市| 临朐县| 荆州市| 灵寿县| 武定县| 新乡市| 绥滨县| 黄陵县| 安义县| 玉门市| 武夷山市| 井陉县| 江津市| 鹤岗市| 云安县| 无锡市| 西平县|