题解 | #打印日期#

打印日期

https://www.nowcoder.com/practice/b1f7a77416194fd3abd63737cdfcf82b

#include<bits/stdc++.h>

using namespace std;

void NextDay(int &year,int &month,int &day) {
	// & 出现在定义or形参当中 表示引用的意思 出现在其他位置,表示取地址
	// 存储一下 月份和天数的对应关系
	int dayOfMonth[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
	int isLeap; // 是否是闰年
	isLeap = year % 400 == 0 || year % 4 == 0 && year % 100 != 0;
	if (isLeap) {
		dayOfMonth[2] = 29;
	} else {
		dayOfMonth[2] = 28;
	}

	++day;
	if (day > dayOfMonth[month]) {
		day = 1;
		++month;
	}
	if (month > 12) {
		month = 1;
		++year;
	}
}

int main() {
	int year;
	int next;
	while(scanf("%d%d",&year,&next)!=EOF) {
		int cur_month=1;
		int cur_day=1;
		for(int i=next; next>1; next--) {
			NextDay(year,cur_month,cur_day);
		}
		printf("%d-%02d-%02d\n",year,cur_month,cur_day);
	}
	return 0;
}

全部评论

相关推荐

评论
点赞
收藏
分享
牛客网
牛客企业服务