九度考研真题 2008-上交1043:Day of Week 日期
2015-10-22 15:52
387 查看
//1043:Day of Week
#include<iostream>
#include<stdio.h>
#include<string.h>
using namespace std;
#define ISYEAR(x) (x%100!=0&&x%4==0||x%400==0)?1:0
int dayOfmonth[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};
char month[13][20]={"","January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};
char week[8][14]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};
struct Date{
int Year;
int Month;
int Day;
void nextday(){
Day++;
if(Day>dayOfmonth[Month][ISYEAR(Year)]){
Month++;Day=1;
if(Month>12){
Year++;Month=1;
}
}
}
};
int buf[3001][13][32];
int main()
{
Date tmp;
tmp.Year=0;
tmp.Month=1;
tmp.Day=1;
int cnt=0;
while(tmp.Year!=3001){
buf[tmp.Year][tmp.Month][tmp.Day]=cnt;
tmp.nextday();
cnt++;
}
int y1,d1;char m1[15];
int m11;
while(scanf("%d%s%d",&d1,m1,&y1)!=EOF){
for(int i=1;i<13;i++){
if(strcmp(m1,month[i])==0) {
m11=i;break;
}
}
int t=buf[y1][m11][d1]-buf[2015][5][17];
cout<<week[(t%7+7)%7]<<endl;
}
}
#include<iostream>
#include<stdio.h>
#include<string.h>
using namespace std;
#define ISYEAR(x) (x%100!=0&&x%4==0||x%400==0)?1:0
int dayOfmonth[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};
char month[13][20]={"","January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};
char week[8][14]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};
struct Date{
int Year;
int Month;
int Day;
void nextday(){
Day++;
if(Day>dayOfmonth[Month][ISYEAR(Year)]){
Month++;Day=1;
if(Month>12){
Year++;Month=1;
}
}
}
};
int buf[3001][13][32];
int main()
{
Date tmp;
tmp.Year=0;
tmp.Month=1;
tmp.Day=1;
int cnt=0;
while(tmp.Year!=3001){
buf[tmp.Year][tmp.Month][tmp.Day]=cnt;
tmp.nextday();
cnt++;
}
int y1,d1;char m1[15];
int m11;
while(scanf("%d%s%d",&d1,m1,&y1)!=EOF){
for(int i=1;i<13;i++){
if(strcmp(m1,month[i])==0) {
m11=i;break;
}
}
int t=buf[y1][m11][d1]-buf[2015][5][17];
cout<<week[(t%7+7)%7]<<endl;
}
}
相关文章推荐
- 协议[I2C]_I2C子系统之at24c02简介
- myeclipse构建用户库
- TableView下拉刷新崩溃解决办法
- python 多进程间交换信息与共享信息
- xian笔试面试题总结
- [MySQL优化案例]系列 — 优化InnoDB表BLOB列的存储效率
- iOS开发-代码规范总结
- CMake的交叉编译问题(Linux x86 - Linux arm11)
- 运算符优先级记载
- error: RPC failed; result=22, HTTP code = 413 git push时
- @GeneratedValue
- 九度考研真题 2003-1华中1185:特殊排序 排序
- 九度考研真题 2003-2华科1186:打印日期
- Add docking and floating support easely and quickly with DockExtender
- Eclipse和PyDev搭建完美Python开发环境(Windows篇)
- 简单几何(推公式) UVA 11646 Athletics Track
- python 入门(2)
- 数据上报-上报设计
- Bezier曲线的几何连续性
- error Code:410 Error Message:appid and openid not match 威富通技术支持,兴业银行微信支付接入支持