CCF 日期计算 C语言 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 <stdio.h>
int main()
{
    int y,d;
    int i;
    scanf("%d",&y);
    scanf("%d",&d);
    int a[12]={31,29,31,30,31,30,31,31,30,31,30,31};//闰年
    int b[12]={31,28,31,30,31,30,31,31,30,31,30,31};//平年
    if((y%4==0&&y%100!=0)||y%400==0)//闰年的条件
    {
        for(i=0;i<12;i++)
        {
            if(d>a[i])
            {
                d=d-a[i];
            }
            else
            {
                printf("%d\n",i+1);
                printf("%d\n",d);
                break;
            }

        }
    }
    else//平年的情况
    {
         for(i=0;i<12;i++)
        {
            if(d>b[i])
            {
                d=d-b[i];
            }
            else
            {
                printf("%d\n",i+1);
                printf("%d\n",d);
                break;
            }

        }
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/piapiapia2333/article/details/82556341