代码练习系列:问题 E 日期累加
2017-11-08 11:31
246 查看
题目描述
设计一个程序能计算一个日期加上若干天后是什么日期。
输入
输入第一行表示样例个数m,接下来m行每行四个整数分别表示年月日和累加的天数。
输出
输出m行,每行按yyyy-mm-dd的个数输出。
样例输入
1
2008 2 3 100
样例输出
2008-05-13
设计一个程序能计算一个日期加上若干天后是什么日期。
输入
输入第一行表示样例个数m,接下来m行每行四个整数分别表示年月日和累加的天数。
输出
输出m行,每行按yyyy-mm-dd的个数输出。
样例输入
1
2008 2 3 100
样例输出
2008-05-13
#include <stdio.h> #include <string.h> #define isleap(x) (x % 100 != 0 && x % 4 == 0)|| x % 400 == 0 ? 1 : 0 int dayofMonth[13][2] = {{0,0},{31,31},{28,29},{31,31},{30,30}, {31,31},{30,30},{31,31},{31,31},{30,30},{31,31},{30,30},{31,31}}; int main() { int day,year,month,cnt; int n; scanf("%d",&n); for(int j = 0;j < n;j++){ scanf("%d %d %d %d",&year,&month,&day,&cnt); for(int i = cnt;i > 0;i--){ day++; if(day == dayofMonth[month][isleap(year)] + 1){ month++; day = 1; } if(month == 13){ year++; month = 1; } } printf("%04d-%02d-%02d\n",year,month,day); } return 0; }
相关文章推荐
- 代码练习系列:问题 A 日期差值
- 代码练习系列:问题 C 打印日期
- 代码练习系列:问题 B 数制转换
- 代码练习系列:问题 A 统计同成绩学生人数
- 代码练习系列:问题 H 部分A+B (15)
- 代码练习系列:问题 E 学生查询
- 代码练习系列:问题 F A+B和C (15)
- 代码练习系列:问题 C 等腰梯形
- 代码练习系列:问题 B Day of Week
- 代码练习系列:问题 B Hello World for U
- 代码练习系列:问题 C 进制转换【转载】
- 代码练习系列:问题 A 输出梯形
- 代码练习系列:问题 A 字符串连接
- 代码练习系列:问题 D 八进制
- 代码练习系列:问题 G 数字分类 (20)
- 代码练习系列:问题 A 又一版 A+B
- JAVA代码—算法基础:子数组的最大累加和问题
- 未排序数组中累加和为给定值的最长子数组系列问题
- JS代码获取当前日期时支持IE,不兼容FF和chrome,解决这个问题,我们需要把获取时间的getYear()函数换成getFullYear()
- 左神算法 未排序数组中累加和为给定值的最长子数组系列问题