CCF 认证201509-2 日期计算

问题描述

  给定一个年份y和一个整数d,问这一年的第d天是几月几日?
  注意闰年的2月有29天。满足下面条件之一的是闰年:
  1) 年份是4的整数倍,而且不是100的整数倍;
  2) 年份是400的整数倍。

输入格式

  输入的第一行包含一个整数y,表示年份,年份在1900到2015之间(包含1900和2015)。
  输入的第二行包含一个整数dd在1至365之间。

输出格式

  输出两行,每行一个整数,分别表示答案的月份和日期。

样例输入

2015
80

样例输出

3
21

样例输入

2000
40

样例输出

2
9

#include<stdio.h>
int main()
{
	int a[13][2]={
	0,0,
	31,31,
	28,29,
	31,31,
	30,30,
	31,31,
	30,30,
	31,31,
	31,31,
	30,30,
	31,31,
	30,30,
	31,31};
	int y,d;
	int k=0;
	int month;
	scanf("%d%d",&y,&d);
	if(y%4==0 && y%100!=0 || y%400==0)
	{
		k=1;
	}
	for(int i=1;i<=12;++i)
	{
		d-=a[i][k];
		if(d<=0)
		{
			d+=a[i][k];
			month=i;
			break;
		}
	}
	printf("%d\n%d",month,d);
	return 0;
} 

猜你喜欢

转载自blog.csdn.net/qq_33373858/article/details/79505599