天勤OJ 题目1448: 日期累加

2024-01-04 01:33
文章标签 题目 累加 日期 oj 天勤 1448

本文主要是介绍天勤OJ 题目1448: 日期累加,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目描述

设计一个程序能计算一个日期加上若干天后是什么日期。


输入

输入第一行表示样例个数m,接下来m行每行四个整数分别表示年月日和累加的天数。


输出

输出m行,每行按yyyy-mm-dd的个数输出。


样例输入
1
2008 2 3 100

样例输出
2008-05-13

提示 [+]

*** 提示已隐藏,点击上方 [+] 可显示 ***


来源

北京理工大学计算机专业2008年研究生复试上机试题



/*********************************
*   日期:2013-2-16
*   作者:SJF0115
*   题号: 天勤OJ 题目1448: 日期累加
*   来源:http://acmclub.com/problem.php?id=1448
*   结果:AC
*   来源:北京理工大学计算机专业2008年研究生复试上机试题
*   总结:
**********************************/
#include<stdio.h>
#include<string.h>
#include<stdlib.h>//判断闰年  
int leap_year(int year){  if((year%100 != 0 && year%4 == 0) || (year % 400 == 0)){  return 1;  }  else{  return 0;  }  
}  
//闰年
int Month[13]= {0,31,28,31,30,31,30,31,31,30,31,30,31};  
int main()
{int n,i,j,year,month,day,days; //freopen("C:\\Users\\SJF\\Desktop\\acm.txt","r",stdin);   while(scanf("%d",&n) !=EOF){for(i = 0;i < n;i++){//输入每行四个整数分别表示年月日和累加的天数scanf("%d %d %d %d",&year,&month,&day,&days);//闰年2月29天if(leap_year(year)){Month[2] = 29;}else{Month[2] = 28;}//从month月第一天开始计算days = days + day;for(j = month;j <= 13;j++){//到了下一年if(j == 13){month = 1;j = 1;year ++;if(leap_year(year)){Month[2] = 29;}else{Month[2] = 28;}}//累加的天数不够这个月的if(days > Month[j]){days -= Month[j];}else{month = j;break;}}//for//输出printf("%d-%02d-%02d\n",year,month,days);}}  return 0;  
}

转载

#include<stdio.h>
#include<string.h>
#include<stdlib.h>int f[13] = {0, 31, 0, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};bool check(int y) {if (y % 100 == 0)return y % 400 == 0;elsereturn y % 4 == 0;
}int main() {int t;scanf("%d", &t);while (t--) {int y, m, d, x;scanf("%d %d %d %d", &y, &m, &d, &x);f[2] = 28 + check(y);d += x;while (d > f[m]) {d -= f[m];++m;if (m > 12) {m = 1;++y;f[2] = 28 + check(y); //重新更新二月份的天数}}printf("%04d-%02d-%02d\n", y, m, d);}return 0;
}


这篇关于天勤OJ 题目1448: 日期累加的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/567746

相关文章

Java日期类详解(最新推荐)

《Java日期类详解(最新推荐)》早期版本主要使用java.util.Date、java.util.Calendar等类,Java8及以后引入了新的日期和时间API(JSR310),包含在ja... 目录旧的日期时间API新的日期时间 API(Java 8+)获取时间戳时间计算与其他日期时间类型的转换Dur

Python日期和时间完全指南与实战

《Python日期和时间完全指南与实战》在软件开发领域,‌日期时间处理‌是贯穿系统设计全生命周期的重要基础能力,本文将深入解析Python日期时间的‌七大核心模块‌,通过‌企业级代码案例‌揭示最佳实践... 目录一、背景与核心价值二、核心模块详解与实战2.1 datetime模块四剑客2.2 时区处理黄金法

Java进行日期解析与格式化的实现代码

《Java进行日期解析与格式化的实现代码》使用Java搭配ApacheCommonsLang3和Natty库,可以实现灵活高效的日期解析与格式化,本文将通过相关示例为大家讲讲具体的实践操作,需要的可以... 目录一、背景二、依赖介绍1. Apache Commons Lang32. Natty三、核心实现代

python处理带有时区的日期和时间数据

《python处理带有时区的日期和时间数据》这篇文章主要为大家详细介绍了如何在Python中使用pytz库处理时区信息,包括获取当前UTC时间,转换为特定时区等,有需要的小伙伴可以参考一下... 目录时区基本信息python datetime使用timezonepandas处理时区数据知识延展时区基本信息

Java实现优雅日期处理的方案详解

《Java实现优雅日期处理的方案详解》在我们的日常工作中,需要经常处理各种格式,各种类似的的日期或者时间,下面我们就来看看如何使用java处理这样的日期问题吧,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言一、日期的坑1.1 日期格式化陷阱1.2 时区转换二、优雅方案的进阶之路2.1 线程安全重构2

Mysql表如何按照日期字段的年月分区

《Mysql表如何按照日期字段的年月分区》:本文主要介绍Mysql表如何按照日期字段的年月分区的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、创键表时直接设置分区二、已有表分区1、分区的前置条件2、分区操作三、验证四、注意总结一、创键表时直接设置分区

Python使用date模块进行日期处理的终极指南

《Python使用date模块进行日期处理的终极指南》在处理与时间相关的数据时,Python的date模块是开发者最趁手的工具之一,本文将用通俗的语言,结合真实案例,带您掌握date模块的六大核心功能... 目录引言一、date模块的核心功能1.1 日期表示1.2 日期计算1.3 日期比较二、六大常用方法详

MySQL 日期时间格式化函数 DATE_FORMAT() 的使用示例详解

《MySQL日期时间格式化函数DATE_FORMAT()的使用示例详解》`DATE_FORMAT()`是MySQL中用于格式化日期时间的函数,本文详细介绍了其语法、格式化字符串的含义以及常见日期... 目录一、DATE_FORMAT()语法二、格式化字符串详解三、常见日期时间格式组合四、业务场景五、总结一、

springboot日期格式化全局LocalDateTime详解

《springboot日期格式化全局LocalDateTime详解》文章主要分析了SpringBoot中ObjectMapper对象的序列化和反序列化过程,并具体探讨了日期格式化问题,通过分析Spri... 目录分析ObjectMapper与jsonSerializer结论自定义日期格式(全局)扩展利用配置

对postgresql日期和时间的比较

《对postgresql日期和时间的比较》文章介绍了在数据库中处理日期和时间类型时的一些注意事项,包括如何将字符串转换为日期或时间类型,以及在比较时自动转换的情况,作者建议在使用数据库时,根据具体情况... 目录PostgreSQL日期和时间比较DB里保存到时分秒,需要和年月日比较db里存储date或者ti