FOJ1303——Calendar
2010-11-18 15:54
225 查看
题意:随便给出一个整数,输出其年月日&&星期,从2000年1.1开始算起:
#include<stdio.h> char *name[] = { "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" }; int time1[15]={31,28,31,30,31,30,31,31,30,31,30,31}; int time2[15]={31,29,31,30,31,30,31,31,30,31,30,31}; bool find(int a) { if((a%100!=0&&a%4==0)||a%400==0) return true; return false; } int main(void) { int d, m, y, a,n,l,yu,i,n1; while(scanf("%d",&n)!=EOF) { if(n==-1) break; n1=n; y=2000; while(n>364) { if(!find(y)) {n-=365;y++;} else { if(n>365){ n-=366;y++;} else break; } } m=1;d=1; if(find(y)) { for(i=0;n-time2[i]>=0;i++) { n-=time2[i]; } m+=i;d+=n; } else { for(i=0;n-time1[i]>=0;i++) { n-=time1[i]; } m+=i;d+=n; } printf("%d-%02d-%02d ",y,m,d); /* if (m == 1 || m == 2) { m += 12; y--; } if ((y < 1752) || (y == 1752 && m < 9) ||(y == 1752 && m == 9 && d < 3)) a = (d + 2*m + 3*(m+1)/5 + y + y/4 +5) % 7; else a = (d + 2*m + 3*(m+1)/5 + y + y/4 - y/100 + y/400)%7; printf("%s/n", name[a]);*///根据年月日计算星期 char week[7][10]={"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}; i=(n1%7+6)%7; puts(week[i]);//根据年计算星期 } return 0; }
相关文章推荐
- 【FOJ 1303】 Calendar
- foj 1303
- 通过一个简单的SWING日历BEAN开发学习Calendar类的使用(1)Calendar概述
- Using Calendar Control in ASP.NET
- Summit Groupware: Email, calendar & contact mgmt
- Calendar webPart的源代码 (原创)
- Digg Google's Calendar
- 很好用的日历控件(calendar)
- .net之旅-Calendar(13)
- 终于找到了在asp.net使用popcalendar.js 日历时候提示出现"缺少对象“的解决办法。
- Asp.net(vb.net)的Calendar只顯示日,一,二,三
- Asp.net 自定义控件之Calendar Picker/Date Picker
- Web Calendar ver 3.0 网页日历
- Using ASP.NET Calendar Control and Yahoo.UI.Calendar in ASP.NET
- AJAX框架 jMaki (三) – 用日历(Calendar)和表格(Table)实现的Blog首页
- CalendarExtender and Safari
- AJAX框架 jMaki (三) – 用日历(Calendar)和表格(Table)实现的Blog首页
- [转]Calendar 動態產生子控制項的 Event Handler, 模拟__doPostBack() 回发
- 【原创、开源】几个 JavaScript “类”(Calendar、Ajax、PPLive、Text、ToolTip、Xml 等)
- POJ 2688 FOJ 1634 Cleaning Robot