当前位置: 代码迷 >> 综合 >> 问题 C: 打印日期
  详细解决方案

问题 C: 打印日期

热度:93   发布时间:2023-09-22 10:38:03.0

题目描述

给出年分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>
#include<string.h>
int month[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 islyear(int a)
{if((a%4==0&&a%100!=0)||a%400==0){return 1;}else return 0;
}int main()
{int y,days;while(scanf("%d %d",&y,&days)!=EOF){int mon,d,i,n=0;for(i=1;i<13;i++){n+=month[i][islyear(y)];if(n>=days){n-=month[i][islyear(y)];break;}}//i--;d=days-n;printf("%04d-%02d-%02d\n",y,i,d);		}return 0;
}

 

  相关解决方案