HDU
来源:互联网 发布:美国经济数据发布时间 编辑:程序博客网 时间:2024/06/10 17:40
题目
给定一个日期,输出这个日期是该年的第几天。
Input
输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。
Output
对于每组输入数据,输出一行,表示该日期是该年的第几天。
Sample Input
1985/1/20
2006/3/12
Sample Output
20
71
想法
该题用java来解非常简单。
- SimpleDateFormat对象的parse()方法可以从给定字符串的开始解析文本,范围一个日期(Date类型)
用c来解需要注意几个地方。
- 闫年(共366,二月29)的判断方法:(非整百年与4取余)或(整百年与400取余),0则闫年,非0平年。
-const 常量不能够改变,否则会出现类似的编译错误 assignment of readonly location
java代码
import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.*;public class Main { public static void main(String []args) throws ParseException{ Scanner it =new Scanner(System.in); while(it.hasNext()) { String s = it.next(); SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd"); Date d = df.parse(s); SimpleDateFormat df1 = new SimpleDateFormat("D"); System.out.println(df1.format(d)); }}}
c代码
#include<stdio.h>int main(){ const int a[]={31,28,31,30,31,30,31,31,30,31,30,31}; int y,m,d; while(scanf("%d/%d/%d",&y,&m,&d)!=EOF){ int sum=0; for(int i=0;i<m-1;i++) sum+=a[i]; if((y%4==0&&y%100!=0||(y%400==0))&&m>=3) sum=sum+1; printf("%d\n",sum+d); } return 0;}
个人博客:陪你一起终身学习!|岳金钊&个人博客
阅读全文
0 0
- hdu
- hdu
- HDU
- hdu ()
- hdu
- hdu
- HDU
- HDU
- hdu
- hdu
- HDU
- Hdu
- hdu
- hdu-
- hdu
- hdu
- hdu
- HDU
- JDBC
- 点九图 导致Some file crunching failed
- linux下 zip解压 tar解压 gz解压 bz2等各种解压文件命令
- IOSnav的颜色和font
- Python 删除()目录下全部文件特定行
- HDU
- 深入理解Java的接口和抽象类
- 地图处理方法-判断一个点是否在某个区域内
- 关于自己接触for..in循环的坑
- 网络编程-read()/write()/assert()函数
- js获取ur?后的参数
- 一个java高级工程师的进阶之路
- 函数
- HTTP代理