我來貢獻了~~~很白話吧。
```
#include <iostream>
#include <vector>
using namespace std;
// 定義每月的天數 (不考慮閏年)
const vector<int> days_in_month = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
// 函數:計算從1月1日到某個日期的天數
int days_from_start_of_year(int month, int day) {
int days = 0;
for (int i = 0; i < month - 1; ++i) {
days += days_in_month[i]; // 累加前幾個月的天數
}
days += day; // 加上當月的天數
return days;
}
int main() {
int current_month, current_day;
int birthday_month, birthday_day;
// 讀入當前日期和生日日期
cin >> current_month >> current_day;
cin >> birthday_month >> birthday_day;
// 計算當前日期和生日的天數
int current_day_of_year = days_from_start_of_year(current_month, current_day);
int birthday_day_of_year = days_from_start_of_year(birthday_month, birthday_day);
// 如果當前日期已經過了生日,則生日是明年的
if (current_day_of_year > birthday_day_of_year) {
birthday_day_of_year += 365; // 假設明年有365天
}
// 計算距離下一次生日還有多少天
int days_until_birthday = birthday_day_of_year - current_day_of_year;
// 輸出結果
cout << days_until_birthday << endl;
return 0;
}
```