给定从2020年1月1日过去的天数,输出“YYYY-MM-DD dayofweek(Sunday、Monday、Tuesday、Wednsday、Thursday、Friday、Saturday)”。
注:闰年为①是4的倍数,且不是100的倍数;或②400的倍数。闰年二月有29天(一年266天),平年二月有28天(一年365天)
思路:
实现1:
#include<iostream>
using namespace std;
//day为2020.1.1过去的天数
int day=0;
int day_month=0;
int days = 0;
void get_Dayofweek(int day)
{
if (day % 7 == 4) cout<< "Saturday";
else if (day % 7 == 5) cout << "Sunday";
else if (day % 7 == 6) cout << "Monday";
else if (day % 7 == 0) cout << "Tuesday";
else if (day % 7 == 1) cout << "Wednsday";
else if (day % 7 == 2) cout << "Thursday";
else if (day % 7 == 3) cout << "Friday";
}
void get_YearMonthDay(int day)
{
//年
int i = 0,day1=day,j=0;
for ( i = 2020; day1 > 0; i++)
{
day_month = day1;
if ((i % 4 == 0) && (i % 100 != 0))
day1 = day1 - 366;
else
day1 = day1 - 365;
}
cout<< i-1<<"年";
//月、日
for (j = 1; day_month > 0; j++)
{
days = day_month;
if ((j == 1) || (j == 3) || (j == 5) || (j == 7) || (j == 8) || (j == 10) || (j == 12))
day_month = day_month - 31;
else if ((j == 4) || (j == 6) || (j == 9) || (j == 11))
day_month = day_month - 30;
else if ((j == 2) && ((i - 1) % 4 == 0) && ((i - 1) % 100 != 0))//29天
day_month = day_month - 29;
else
day_month = day_month - 28;
}
cout << j-1 << "月";
cout << days << "日";
}
int main()
{
get_YearMonthDay(367);
get_Dayofweek(367);
return 0;
}
结果:
实现2:
有时间再打一遍老师的代码吧,先保存ppt…