按月计算当加减的天数很大时循环量就大,如240000/31~=7742,若用年月同时计算则可减少三百多倍循环量,提高效率。
void 按月计算的天日期(int 年, int 月, int 日, int 天, char 运算符 = '-')
{//缘由https://ask.csdn.net/questions/1052316
int 总天数 = 返回日期总天数(年, 月, 日);
if (运算符 == '-')while (日 <= 天)if (!--月)--年, 月 = 13; else 日 += 返回月的天数(年, 月);
//whi...
void 输出万年历(int 年, int 月, int 日)
{
int r = 1, z = r, nn = 年, yy = 月;
nn = 年; yy = 月;
while (nn)if (--yy)z += 返回月的天数(nn, yy); else --nn, yy = 13;
nn = 返回月的天数(年, 月); yy = 1;
cout << 年 << "年" << 月 << "月" << 日 << "日今天星期 " << (z + 日 - 1) % 7 << "\n星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期...