zoukankan      html  css  js  c++  java
  • 1008-第几天

    描述

     

    在我们现在使用的日历中, 闰年被定义为能被4整除的年份,但是能被100整除而不能被400整除的年是例外,它们不是闰年。例如:1700, 1800, 1900 和 2100 不是闰年,而 1600, 2000 和 2400是闰年。

    给定公元2000年1月1日后的某年某月某日(包括2000年1月1日),你的任务:(1)给出这一天从公元2000年1月1日开始逝去的天数,(2)判断这一天是当年的第几天。

    输入

     

    输入包含若干行,每行包含三个空格间隔的正整数,它们分别表示年、月、日。输入最后一行是−1, 不必处理。可以假设结果的年份不会超过9999。

    输出

     

    多组,每组两行,分别为每行输入所代表的一天从公元2000年1月1日开始逝去的天数、在当年的第几天。

    样例输入

    2000 1 1

    2009 3 14

    -1

    样例输出

    0

    1

    3360

    73

    #include"stdio.h"
    
    int main(void)
    {
        int i;
        int year, month, day;
        int dayPast, dayTh;
        
        
        
        while(scanf("%d %d %d", &year, &month, &day) && year!=-1)
        {
            dayPast = 0;
            dayTh = 0;
            for(i = 2000; i < year; i++) //??????366???
            {
                if(((i%4==0)&&(i%100!=0)) || (i%400==0))
                {
                    dayPast += 366;
                }
                else
                {
                    dayPast += 365;
                }
            }
            
            dayTh += day;
            switch(month-1)
            {
            case 11:
                dayTh += 30;
            case 10:
                dayTh += 31;
            case 9:
                dayTh += 30;
            case 8:
                dayTh += 31;
            case 7:
                dayTh += 31;
            case 6:
                dayTh += 30;
            case 5:
                dayTh += 31;
            case 4:
                dayTh += 30;
            case 3:
                dayTh += 31;
            case 2: 
                if(((year%4==0)&&(year%100!=0)) || (year%400==0))
                {
                    dayTh += 29;
                }
                else
                {
                    dayTh += 28;
                }
            case 1:
                dayTh += 31;
            }
            dayPast += (dayTh-1);
            
            printf("%d
    ", dayPast);
            printf("%d
    ", dayTh);
            
        }
        
        return 0;
    }  
    

      

  • 相关阅读:
    MySql存储过程学习总结
    JAVA设计模式之策略模式
    JAVA设计模式之装饰模式
    JAVA设计模式之代理模式
    动手学servlet(四) cookie和session
    动手学servlet(三) 请求头和响应头信息
    动手学servlet(二) servlet基础
    动手学servlet(一) 第一个servlet程序
    HTTP与HttpServlet
    HttpServlet详解
  • 原文地址:https://www.cnblogs.com/Rosanna/p/3436482.html
Copyright © 2011-2022 走看看