判断日期是星期几

给定一个日期是星期几,让后输入一个这个日期之后的日期,判断日期是星期几。

如:已知2012年1月22日是星期天,输入一个2012年1月22日以后的日期,输出该日期是星期几。

思路:应考虑年份是否为闰年,计算初始日期到指定日期的总天数,然后%7,得出该日期是星期几。


程序如下:
#include <iostream>
#include <string>
using namespace std;
int Month[] = { 0,31,28,31,30,31,30,31,31,30,31,30,31};//将一年中每个月份的天数存入数组中,二月默认为28天。
string weekdays[] = {"星期天","星期一","星期二","星期三","星期四","星期五","星期六"};

int main()
{
 int sum = 0;
 int date, month, year;
 cin >> year >> month >> date;
 for (int i = 2012; i < year; i++)//判断每一年是否为闰年
 {
  if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0)
   sum += 366;
  else
   sum += 365;
 }
 if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)//当输入年份为闰年时二月变为29天
   Month[2] = 29;
 for (int j = 1; j < month; j++)
 {
  sum += Month[j];//计算月份的天数
 }
 sum += date;
 sum -= 22;//减去初始天数
 cout << year << "年" << month << "月" << date << "日是:" << weekdays[sum % 7] << endl;
 return 0;
}

运行结果如下:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

酷小川

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值