【Java】某天是星期几

来源:互联网 发布:android模拟器linux版 编辑:程序博客网 时间:2024/06/05 00:54

算法简述

// 1月 2月当作前一年的13,14月 if (m == 1 || m == 2) {  m += 12;  y--; } // 判断是否在1752年9月 3日之前 if ((y < 1752) || (y == 1752 && m < 9) || (y == 1752 && m == 9 && d < 3)) {  a = (d + 2 * m + 3 * (m + 1) / 5 + y + y / 4 + 5) % 7; } else {  a = (d + 2 * m + 3 * (m + 1) / 5 + y + y / 4 - y / 100 + y / 400) % 7; } printf("it's %s\n", week[a]);

代码Demo

#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<string.h>#include<iostream>char *week[] = { "Monday", "Tuesday", "Wednesday", "Thursday","Friday", "Saturday", "Sunday" };void main(){   int d, m, y, a; printf("Day: "); scanf("%d", &d); printf("Month: "); scanf("%d", &m); printf("Year: "); scanf("%d", &y); // 1月 2月当作前一年的13,14月 if (m == 1 || m == 2) {  m += 12;  y--; } // 判断是否在1752年9月 3日之前 if ((y < 1752) || (y == 1752 && m < 9) || (y == 1752 && m == 9 && d < 3)) {  a = (d + 2 * m + 3 * (m + 1) / 5 + y + y / 4 + 5) % 7; } else {  a = (d + 2 * m + 3 * (m + 1) / 5 + y + y / 4 - y / 100 + y / 400) % 7; } printf("it's %s\n", week[a]);    //std::cout<<"Hello Word"<<std::endl; getchar(); getchar();    return;}
0 0
原创粉丝点击