题目描述
给出年分m和一年中的第n天,算出第n天是几月几号。
输入
输入包括两个整数y(1<=y<=3000),n(1<=n<=366)。
输出
可能有多组测试数据,对于每组数据,按 yyyy-mm-dd的格式将输入中对应的日期打印出来。
样例输入
2013 60
2012 300
2011 350
2000 211
样例输出
2013-03-01
2012-10-26
2011-12-16
2000-07-29
#include<stdio.h>
bool runnian(int year){
return(year%4==0&&year%100!=0)||(year%400==0);
}
int main(){
int daily[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 year,day;
while(scanf("%d%d",&year,&day)!=EOF){
int mon_l=1,day_l=1,sum=0;
while (day>0)
{
day=day-daily[mon_l][runnian(year)];
mon_l++;
}
if(day<=0){
day_l=daily[mon_l-1][runnian(year)]+day;
}
printf("%4d-%02d-%02d",year,mon_l-1,day_l);
}
}//有问题