/*
中文题目 日历
中文翻译-大意 给一个数字,叫你求它是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