2005 第几天?
来源:互联网 发布:ubuntu命令行出现乱码 编辑:程序博客网 时间:2024/06/10 01:38
第几天?
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 95363 Accepted Submission(s): 35884
Problem Description
给定一个日期,输出这个日期是该年的第几天。
Input
输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。
Output
对于每组输入数据,输出一行,表示该日期是该年的第几天。
Sample Input
1985/1/202006/3/12
Sample Output
2071
这个题比较简单,方法也挺多,还是贴上自己感觉很好的方法吧,
运用数组法挺好,也很省代码,直接循环累加即可.....
#include<stdio.h>int main(){ int i,a,b,c,s; int x[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; while(~scanf("%d/%d/%d",&a,&b,&c)) { s=c; for(i=0;i<b;++i) { s+=x[i]; } if(b>2&&(a%4==0&&a%100!=0)||a%400==0) { ++s; } printf("%d\n",s); } return 0;}
其实还有个方法,倒是很不错,还是偶然间见到的......
这个不用数组也能实现功能,也比较方便。
#include<stdio.h>int main(){int i,a,b,c,s;while(~scanf("%d/%d/%d",&a,&b,&c)){s=c;for(i=1;i<b;++i){if(i==1||i==3||i==5||i==7||i==8||i==10){s+=31;}else if(i==4||i==6||i==9||i==11){s+=30;}else{if(a%4==0&&a%100!=0||a%400==0){s+=29;}else{s+=28;}}}printf("%d\n",s);}return 0;}
0 0
- hdu 2005 第几天
- HDU 2005 第几天
- 2005 第几天?
- HDU 2005 第几天?
- hdu 2005 第几天?
- 【2005 第几天?】
- HDU 2005 - 第几天
- 2005的第几天
- 第几天?(2005)
- HDU 2005 第几天?
- [hdu 2005] 第几天?
- 2005 第几天?
- HDU-2005 第几天
- HUDJ 2005 第几天?
- HDU 2005 第几天?
- HDU 2005 第几天?
- HDU-#2005 第几天?
- hdu 2005 第几天?
- nyoj 1022 合纵连横 【并查集的删除】
- 字符设备驱动、平台设备驱动、设备驱动模型、sysfs的关系
- 线段覆盖2
- light oj 1067 组合数取模
- 错误代码: 1327 Undeclared variable: p_film_count
- 2005 第几天?
- Linux下软件安装
- WebSocket 实战
- 技术生涯首篇博文
- jrebel,提高开发效率的插件
- poj 2353 Ministry
- HDU 2111 Saving HDU (贪心)
- !HDU 4101 Ali and Baba-博弈-(bfs&dfs扫描二维点)
- JavaFX不同存放位置图片的获取方法