题解 | #Day of Week#

Day of Week

https://www.nowcoder.com/practice/a3417270d1c0421587a60b93cdacbca0

#include <iostream>
#include <string.h>

using namespace std;

int daytab[2][13] = {
{
	0,31,28,31,30,31,30,31,31,30,31,30,31	
},
{
	0,31,29,31,30,31,30,31,31,30,31,30,31
}
};

bool isLeapYear(int x){
	return (x % 4 ==0 && x % 100 != 0) || (x % 400 == 0);
}

char week_name[7][20]={
    "Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"
};

char month_name[13][20]={
    "","January","February","March","April","May","June","July","August",
    "September","October","November","December"
};

int main(){
	int d,y,m,sum = 0;
	char mon[10];
	scanf("%d%s%d",&d,&mon,&y);
	
	for(int i = 0;i < 14;i ++){
		if(strcmp(month_name[i],mon) == 0){
			m = i;
			break;
		}
	}
	
	for(int i = 1;i < y;i ++){
		if(isLeapYear(i)){
			sum += 366;
		}else sum += 365;
	}
	
	
	for(int i = 0;i < m;i ++){
		sum += daytab[isLeapYear(y)][i];
	}
	
	
	sum = sum + d;
	
	cout << week_name[(sum % 7)] << endl;
	return 0;
}

全部评论

相关推荐

04-10 11:56
如皋中学 Java
高斯林的信徒:双c9能简历挂的?
点赞 评论 收藏
分享
人生一梦:24年我投暑期实习,它以我不是女的为理由拒绝了我查看图片
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务