文章

12

粉丝

0

获赞

41

访问

1.4k

头像
Day of Week 题解:
P1287 上海交通大学机试题
发布于2026年3月9日 22:03
阅读数 28

#include <stdio.h>
#include <string.h>
char s [12][20]={"January","February","March","April","May","June","July","August","September","October","November","December"};
char week[7][20]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};
int f[13] ={0,31,28,31,30,31,30,31,31,30,31,30,31};
int main()
{
	int year,day,mon;
	char month[20]={0};	
	while(	scanf("%d %s %d",&day,month,&year)!=EOF)
	{
		long long cnt=0;	
		
		for(int i=0;i<12;i++)
		{
			if(strcmp(s[i],month)==0)
			{	
			mon=i+1;
			break;
			}
		}
		for(int i=1000;i<year;i++)
		{
			if(i%400==0||i%4==0&&i%100!=0)
			{
			cnt+=366; 
			}
			else 
			{
			cnt+=365;
			}
		}
	
		if(year%400==0||year%4==0&&year%100!=0) f[2]=29;	
		else f[2]=28;	
		if(mon==1)
		{
			cnt+=day;
		}
		else 
		{
			for(int i=1;i<mon;i++)
			{
		  	cnt+=f[i];
			}
			cnt+=day;
		}	
		cnt+=2; //为什么加2就对了我也不知道。我就是认为1000.1.1是星期一的 
		cnt%=7...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发