您的位置:首页 > 其它

判断日期是星期几

2017-09-05 12:53 253 查看
给定一个日期是星期几,让后输入一个这个日期之后的日期,判断日期是星期几。

如:已知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;

}

运行结果如下:




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息