Untitled

 avatar
unknown
c_cpp
5 months ago
1.5 kB
5
Indexable
#include <stdio.h>

int main() {
    int year, month1, day1, hour1, minute1, month2, day2, hour2, minute2;
    int days_in_month1, days_in_month2, leap_year = 0;
    int days_in_months[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; // 每月天數
    int total_minutes1 = 0, total_minutes2 = 0, total_days = 0, minute_difference = 0;

    // 讀取輸入
    scanf("%d-%d-%d %d:%d", &year, &month1, &day1, &hour1, &minute1);
    scanf("%d-%d-%d %d:%d", &year, &month2, &day2, &hour2, &minute2);

    // 判斷是否為閏年
    if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
        leap_year = 1;
    } else {
        leap_year = 0;
    }

    // 如果是閏年,2月改為29天
    if (leap_year) {
        days_in_months[1] = 29;
    }

    // 計算從年初到第一個日期的總分鐘數
    for (int i = 0; i < month1 - 1; i++) {
        total_minutes1 += days_in_months[i] * 24 * 60;
    }
    total_minutes1 += (day1 - 1) * 24 * 60;
    total_minutes1 += hour1 * 60 + minute1;

    // 計算從年初到第二個日期的總分鐘數
    for (int i = 0; i < month2 - 1; i++) {
        total_minutes2 += days_in_months[i] * 24 * 60;
    }
    total_minutes2 += (day2 - 1) * 24 * 60;
    total_minutes2 += hour2 * 60 + minute2;

    // 計算兩個日期之間的分鐘差
    minute_difference = total_minutes2 - total_minutes1;

    // 輸出結果
    printf("%d\n", minute_difference);

    return 0;
}
Editor is loading...
Leave a Comment