/*
中文题目 日历
中文翻译-大意 给一个数字,叫你求它是2000-1-1以后的日期和星期
解题思路:星期几很好求,只要对7求模就得到星期几了。他也告诉你2000年1月1号是星期六
难点详解:星期几的字符数组第一个要注意。至于年月日,就是用总天数减去每一天的天数,减去多少年,年就是多少,
同理月份也是一样,但最后要加上一个1;
关键点:细心
解题人:lingnichong
解题时间:2014/08/14 12:38
解题体会:注意细节
*/
| Time Limit: 1000MS | Memory Limit: 30000K | |
| Total Submissions: 11335 | Accepted: 4189 |
Description
Input
Output
Sample Input
1730 1740 1750 1751 -1
Sample Output
2004-09-26 Sunday 2004-10-06 Wednesday 2004-10-16 Saturday 2004-10-17 Sunday
Source
#include<stdio.h>
int m1[2][12]={31,28,31,30,31,30,31,31,30,31,30,31,31,29,31,30,31,30,31,31,30,31,30,31};
int year[2]={365,366};
char week[7][10]={"Saturday","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday"};
int leap(int m)
{
if(m%4==0&&m%100!=0||m%400==0)
return 1;
else
return 0;
}
int main()
{
int day,weekday;
int i,j;
while(scanf("%d",&day),day!=-1)
{
weekday=day%7;
for(i=2000;day>=year[leap(i)];i++)
day-=year[leap(i)];
for(j=0;day>=m1[leap(i)][j];j++)
day-=m1[leap(i)][j];
printf("%d-%02d-%02d %s\n",i,j+1,day+1,week[weekday]);
}
return 0;
}
POJ 2080 Calendar,布布扣,bubuko.com
原文:http://blog.csdn.net/qq_16767427/article/details/38556949