计算日期
描述:
给定一个年份y和一个整数d,问这一年的第d天是几月几日?
注意闰年的2月有29天,且满足下面条件之一的是闰年:
1) 年份是4的整数倍,而且不是100的整数倍;
2) 年份是400的整数倍
输入说明:
输入包含两个整数y和d,y表示年份,年份在1900到2018之间(包含1900和2018)。 d表示这一年的第几天,d在1至365之间。
输出说明:
在一行输出两个整数,分别表示答案的月份和日期。
输入样例
样例1输入
2015 80
输出样例
样例1输出
3 21
#include<stdio.h>
#include<math.h>
int main()
{
int y,m,t,d,j;
scanf("%d%d",&y,&d);
if(y%400==0||y%4==0&&y%100!=0)
{
int a[13]={31,29,31,30,31,30,31,31,30,31,30,31};
for(m=0;d>0;m++)
{
d-=a[m];
}
d+=a[m-1];
printf("%d %d",m,d);}
else
{
int a[13]={31,28,31,30,31,30,31,31,30,31,30,31};
for(m=0;d>0;m++)
{
d-=a[m];
}
d+=a[m-1];
printf("%d %d",m,d);}
return 0;
}
用数组解决了这个问题,运行和提交都没有问题,如果有细节问题请指正。(^.^)