HDU--1201 -- 18岁生日 [水] [日期计算]
来源:互联网 发布:安河桥 知乎 编辑:程序博客网 时间:2024/05/20 16:34
18岁生日
Total Submission(s): 14793 Accepted Submission(s): 4732
Problem Description
Gardon的18岁生日就要到了,他当然很开心,可是他突然想到一个问题,是不是每个人从出生开始,到达18岁生日时所经过的天数都是一样的呢?似乎并不全都是这样,所以他想请你帮忙计算一下他和他的几个朋友从出生到达18岁生日所经过的总天数,让他好来比较一下。
Input
一个数T,后面T行每行有一个日期,格式是YYYY-MM-DD。如我的生日是1988-03-07。
Output
T行,每行一个数,表示此人从出生到18岁生日所经过的天数。如果这个人没有18岁生日,就输出-1。
Sample Input
11988-03-07
Sample Output
6574
Code:
日期计算神马的最讨厌了
还要考虑闰年, 每个月天数还不一样, 生日吧还可能没有,
加上闰年多的一天吧还要考虑生日的范围看有没有多加,痛苦死!!
#include<stdio.h>#include<string.h>int rn(int i){// printf("i:%d\n",i); if((i%4==0 && i%100)|| i%400==0) return 1; return 0;}int main(){ int t,i,j,day,mon,ye,res; char str[15]; scanf("%d",&t); while(t--) { scanf("%4d-%2d-%2d",&ye,&mon,&day); res = 365*18; if(!rn(ye+18) && mon==2 && day==29) printf("-1\n"); else { for(i=ye,j=0;j<=18;i++,j++) { if(rn(i)) res++; } if(rn(ye+18) && (mon<2 || (mon==2 && day<29))) res--; if(rn(ye) && mon>2 ) res--; printf("%d\n",res); } } return 0;}
- HDU--1201 -- 18岁生日 [水] [日期计算]
- HDU 1201 18岁生日(日期计算)
- HDU 1201 18岁生日 【日期】
- HDOJ 1201 18岁生日(日期与天数计算)
- HDU1201 18岁生日【日期计算】
- HDU 1201 18岁生日(水~)
- HDU 1201:18岁生日【水】
- HDU 1201 18岁生日
- HDU 1201 18岁生日
- HDU 1201 18岁生日
- hdu - 1201 - 18岁生日
- HDU 1201 18岁生日
- HDU 1201 18岁生日
- hdu-1201-18岁生日
- HDU: 1201-18岁生日
- hdu 1201 18岁生日
- HDU 1201 18岁生日
- HDU 1201 18岁生日
- 数据结构与程序设计第一章总结
- Linux 获取本机IP地址和MAC地址(二)
- myEclipse open Resource 快捷键失效解决方案
- Asp.Net MVC4.0入门指南(10):第三方控件Studio for ASP.NET Wijmo MVC4 工具应用
- SQL 时间截按月分组查询
- HDU--1201 -- 18岁生日 [水] [日期计算]
- Asp.Net MVC4.0入门指南(8):给数据模型添加校验器
- 解决AptanaStudio3.0 中文注释过小的问题
- 基于c++的完全数之非TDD版本(2013.8.20)
- Story board 的静态 cell 。快速做页面
- IOS面试题1
- 数据结构与程序设计第一章:编程规则总结
- bus,device,driver三者关系
- pidqin 即时聊天工具