OpenJudge计算概论-Tomorrow never knows【输入日期计算下一天的日期】
/*====================================================================== Tomorrow never knows? 总时间限制: 1000ms 内存限制: 65536kB 描述 甲壳虫的《A day in the life》和《Tomorrow never knows》脍炙人口,如果告诉你a day in the life,真的会是tomorrow never knows?相信学了计概之后这个不会是难题,现在就来实现吧。 读入一个格式为yyyy-mm-dd的日期(即年-月-日),输出这个日期下一天的日期。可以假定输入的日期不早于1600-01-01,也不晚于2999-12-30。 输入 输入仅一行,格式为yyyy-mm-dd的日期。 输出 输出也仅一行,格式为yyyy-mm-dd的日期 样例输入 2010-07-05 样例输出 2010-07-06 提示 闰年的标准: (1)普通年能被4整除且不能被100整除的为闰年。(如2004年就是闰年,1901年不是闰年) 地球公转示意图 (2)世纪年能被400整除的是闰年。(如2000年是闰年,1100年不是闰年) 输入语句scanf("%d-%d-%d",&y,&m,&d)可以存储年,月,日.输出语句格式类似printf("%d-%02d-%02d\n",year,month,day). ========================================================================*/ #include<stdio.h> int isRunNian(int year); int main() { int y,m,d; int year,month,day; int monthCarrySave=0; int yearCarrySave=0; scanf("%d-%d-%d",&y,&m,&d); if(m==1||m==3||m==5||m==7||m==8||m==10||m==12) { if(d==31) { day=1; monthCarrySave=1; } else day=d+1; } else { if(m==2) { if(d==28) { if(isRunNian(y)) day=d+1; else { day=1; monthCarrySave=1; } } else if(d==29) { day=1; monthCarrySave=1; } else { day=d+1; } } else { if(d==30) { day=1; monthCarrySave=1; } else { day=d+1; } } } month=m+monthCarrySave; if(month>12) { month=1; yearCarrySave=1; } year=y+yearCarrySave; printf("%d-%02d-%02d\n",year,month,day); return 0; } int isRunNian(int year) { if(year%4==0&&year%100!=0||year%400==0) return 1; else return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App