HDU 2005 第几天?
Posted titordong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU 2005 第几天?相关的知识,希望对你有一定的参考价值。
题目链接:HDU 2005
Description
给定一个日期,输出这个日期是该年的第几天。
Input
输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。
Output
对于每组输入数据,输出一行,表示该日期是该年的第几天。
Sample Input
Sample Input
1985/1/20
2006/3/12
Sample Output
20
71
代码
import java.util.*;
class Main
{
public static void main(String[] args)
{
int []m=new int[12];
m[0]=31;m[1]=28;m[2]=31;m[3]=30;m[4]=31;m[5]=30;m[6]=31;m[7]=31;m[8]=30;m[9]=31;m[10]=30;m[11]=31;
Scanner read=new Scanner(System.in);
int [] a=new int[3];
char []str=new char [20];
while(read.hasNext()){
boolean flag=false;
a[0]=a[1]=a[2]=0;
str=read.next().toCharArray();
int v=0;
int cut=0;
while(v!=2){
if(str[cut]!='/')
a[v]=a[v]*10+(int)str[cut]-48;
else v++;
cut++;
}
int ans=0;
for(;cut<str.length;cut++)
a[v]=a[v]*10+(int)str[cut]-48;
if(a[0]%400==0||(a[0]%4==0&&a[0]%100!=0)){
flag=true;
}
for(int i=0;i<a[1]-1;i++)
ans+=m[i];
if(flag==true&&a[1]>2)
ans++;
System.out.printf("%d",a[2]+ans);
System.out.println();
}
}
}
以上是关于HDU 2005 第几天?的主要内容,如果未能解决你的问题,请参考以下文章