• CCF真题之日期计算


    201509-2 日期计算
    问题描述
      给定一个年份y和一个整数d,问这一年的第d天是几月几日?   注意闰年的2月有29天。满足下面条件之一的是闰年:   1) 年份是4的整数倍,而且不是100的整数倍;   2) 年份是400的整数倍。
    输入格式
      输入的第一行包含一个整数y,表示年份,年份在1900到2015之间(包含1900和2015)。   输入的第二行包含一个整数d,d在1至365之间。
    输出格式
      输出两行,每行一个整数,分别表示答案的月份和日期。
    样例输入
    2015 80
    样例输出
    3 21
    样例输入
    2000 40
    样例输出
    2 9
     
    源代码:
    #include <iostream>
    using namespace std;
    int main()
    {
     
     int i,y,d,month,day;
     bool lear(int year);
     while(cin>>y>>d)
     {
      //注意:数组初始化应在循环内
      int a[13]={0,31,59,90,120,151,181,212,243,273,304,334,365};//每个月份在这一年的总天数
      if(lear(y))
      {
        for(i=2;i<13;i++)
        a[i]=a[i]+1; 
      }
      for(i=0;i<13;i++)
      {
       if(d<=a[i])
       {
        month=i;
           day=d-a[i-1];
           break;//注意,记得加break语句
       }
       
      }
      cout<<month<<endl<<day<<endl;
     }
     return 0;
    }
    bool lear(int year)
    {
     if((year%4==0&&year%100!=0)||year%400==0)
     return true;
     else
     return false;
    }
  • 相关阅读:
    J
    I题
    H
    G
    F题
    E题
    D题
    C题
    B题
    A题
  • 原文地址:https://www.cnblogs.com/lchzls/p/5026256.html
Copyright © 2020-2023  润新知