题解 | 日期累加

日期累加

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


#include<stdio.h>
using namespace std;

void nextday(int& year, int& month, int& day) {
	int dayofmonth[] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
	//先判断是否闰年,闰年的2月是29天
	if ((year % 400 == 0) || (year % 100 != 0 && year % 4 == 0))dayofmonth[2] = 29;
	//如果天数超出
	if ((day + 1) > dayofmonth[month]) {
		//如果月份超出
		if ((month + 1) > 12) {
			year++;
			month = 1;
			day = 1;
		}
		else {
			month++;
			day = 1;

		}

	}
	else day++;
}


int main() {
	int daycnt, curyear, curmonth, curday;
    int n;
    scanf("%d",&n);
	while ( n--) {
        scanf("%d %d %d %d", &curyear, &curmonth, &curday, &daycnt);
		while (daycnt) {
			daycnt--;
			nextday(curyear, curmonth, curday);
		}
		printf("%04d-%02d-%02d\n", curyear, curmonth, curday);

	}
	return 0;
	}
	
	

计算机复试机试(王道版) 文章被收录于专栏

收录王道2026年计算机复试机试的(课程)代码题解,仅供个人学习参考

全部评论

相关推荐

01-04 11:28
已编辑
广州华立学院 Java
程序员花海:实习内容写的看起来太偏向于技术了 要结合业务 很多同学搞反了 其实业务才是最重要的 要避免这种单纯罗列技术栈的格式
简历被挂麻了,求建议
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务