返回题解分享
讨论 / 题解分享/ 帖子详情

星系炸弹(结果填空) - 题解

#include<bits/stdc++.h>
using namespace std;
int dayOfMonth[2][13] = {
    {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
    {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
};
bool isLeapYear(int year) {
    return year % 400 == 0 || (year % 4 == 0 && year % 100 != 0);
}
void addOneDay(int &year, int &month, int &day) {
    day++;                    // 让day加1
    if (day > dayOfMonth[isLeapYear(year)][month]) {  // 如果超过当前月的天数
        month++;              // 让month加1
        day = 1;              // 重置day为1号
    }
    if (month > 12) {         // 如果月份大于12
        year++;               // 让year加1
        month = 1;            // 重置month为1月
    }
}
int main()
{
//	ios::sync_with_stdio(0);
//	cin.tie(0);
//	cout.tie(0); 
	int year=2014,month=11,day=9;
	for(int i=1;i<=1000;i++)
		addOneDay(year,month,day);
	
printf("%d-%02d-%02d",year,month,day);
	
	return 0;
}
0 回复 0 转发 0 喜欢 2 阅读
回复 (0)
默认 最新
暂无回复,快来抢沙发!