⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1308 what day is it.cpp

📁 ACM 威士忌部分答案
💻 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 + -