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 第几天?的主要内容,如果未能解决你的问题,请参考以下文章

HDU 2005 第几天?

HDU 2005 第几天?

从“HDU 2005 第几天?”谈起

HDU2005 第几天?日期计算

HDU_ACM_2005

杭电ACM2005--第几天?