📄 1308 what day is it.cpp
字号:
#include <cstdio>
using namespace std;
int mday[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
char mstr[13][20]={"\0","January","February","March","April","May","June","July","August","September","October","November","December"};
char weekday[8][20]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"};
bool isLeap(int y)
{
if((y%4==0 && y%100!=0) || y%400==0)
return true;
else
return false;
}
int main()
{
int i,w,m,d,y,days,now;
bool flag;
while( scanf("%d %d %d",&m,&d,&y)!=EOF )
{
flag=true;
if(m==0 && d==0 && y==0)
break;
if(m!=2)
{
if(d>mday[m])
flag=false;
}
else
{
if(isLeap(y))
{
if(d>29)
flag=false;
}
else if(d>28)
flag=false;
}
if(flag)
{
days=(y-1)*365.2425;
for(i=1;i<m;i++)
days+=mday[i];
if(m>2)
if(isLeap(y))
days++;
days+=d;
if(y<1752 || (y==1752 && ( m<9 || m==9 && d<=2 ) ))
days+=11;
w=days%7;
printf("%s %d, %d is a %s\n",mstr[m],d,y,weekday[w]);
}
else
{
printf("%d/%d/%d is an invalid date.\n",m,d,y);
}
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -