试题编号: | 201509-2 |
试题名称: | 日期计算 |
时间限制: | 1.0s |
内存限制: | 256.0MB |
问题描述: | 问题描述 给定一个年份y和一个整数d,问这一年的第d天是几月几日? 输入格式 输入的第一行包含一个整数y,表示年份,年份在1900到2015之间(包含1900和2015)。 输出格式 输出两行,每行一个整数,分别表示答案的月份和日期。 样例输入 2015 样例输出 3 样例输入 2000 样例输出 2 |
#include<stdio.h>
int main()
{
int y,d,day[13]={0,31,0,31,30,31,30,31,31,30,31,30,31};
scanf("%d%d",&y,&d);
if(y%400==0||(y%4==0&&y%100!=0))
day[2]=29;
else
day[2]=28;
if(d<=31)
printf("1\n%d",d);
else if(d-31<=29)
printf("2\n%d",d-31);
else
{
int flag=3;
d=d-day[1]-day[2];
while(d>31)
{
d-=day[flag++];
}
if(flag==3||flag==5||flag==7||flag==8||flag==10||flag==12)
printf("%d\n%d",flag,d);
else
{
if(d==31)
{
if(flag<12)
printf("%d\n1",flag+1);
else
printf("1\n1");
}
else
printf("%d\n%d",flag,d);
}
}
return 0;
}