#include <stdio.h>
#include <string.h>
char Week[7][20] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
char Month[13][20] = {"", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"};
int DaysOfMonth[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
//判断闰年
int leap(int y){
return (y%4==0 && y%100!=0 || y%400==0);
}
main(){
int date, year, nmonth, i, days;
char cmonth[20];
while(~scanf("%d %s %d", &year, cmonth, &date)){
for(i=1; i<=12; i++){
if(strcmp(cmonth, Month[i])==0){
nmonth = i;
break;
}
}
//计算总天数
days = (year - 1) * 365;
for(i=1; i<year; i++){ //年
if(leap(i))
days += 1; //闰年
}
for(i=1; i<nmonth; i++) //月
days += DaysOfMonth[i];
days += date; //日
if(nmonth>2 && leap(year)) //该年闰月
days += 1;
//输出星期
puts(Week[days%7]);
}
}
【C】星期判断
最新推荐文章于 2022-10-17 09:14:40 发布