1 Star 0 Fork 1

TheKernel/SJTU

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
day_of_week.cpp 1009 Bytes
一键复制 编辑 原始数据 按行查看 历史
youlizhou 提交于 2021-04-25 19:32 . init
#include <cstdio>
#include <cstring>
#define MAX_SIZE 100
char int2week[8][10] = {
"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
};
bool isLeap(int year) {
return ((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0));
}
int main() {
int d, m, y, total = 0;
char temp_m[MAX_SIZE];
char week[12][10] = {
"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"
};
int week_days[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
while ( scanf("%d %s %d", &d, temp_m, &y) == 3 ) {
total = 0;
for (int i = 0; i < 12; i++) {
if (strcmp(week[i], temp_m) == 0) {
m = i;
break;
}
}
for (int i = 1; i < y; i++) {
if (isLeap(i)) total += 366;
else total += 365;
}
if (isLeap(y)) { week_days[1] = 29; }
else { week_days[1] = 28; }
for (int i = 0; i < m; i++) {
total += week_days[i];
}
total += d;
printf("%s\n", int2week[(total)%7]);
}
return 0;
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/TheKernel/sjtu.git
git@gitee.com:TheKernel/sjtu.git
TheKernel
sjtu
SJTU
master

搜索帮助