11558. CCF 201509-2 日期计算
11558. 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<stdio.h>
int main()
{
int y,d,k,m,n,i;
scanf("%d %d",&y,&d);
if(((y%4==0)&&(y%100!=0))||(y%400==0))
k=1;
else k=0;
int a[]={31,28,31,30,31,30,31,31,30,31,30,31};
if(k==1) a[1]=29;
for(i=0;;i++)
{
if(d<=0) break;
d=d-a[i];
}
m=i;
n=d+a[i-1];
printf("%d\n%d\n",m,n);
return 0;
}

浙公网安备 33010602011771号