经典算法探究:计算某日期是星期几

来源:互联网 发布:3dmax mac中文破解版 编辑:程序博客网 时间:2024/05/18 00:01

思路:
设定一个原始日期,及其为星期几,为了保险起见,我设定1900一月一日 为礼拜一,日期表上也是如此。

然后计算 输入的日期 与 1900 之间的天数,然后用天数%7 ,其余数分别代表了礼拜几,如果为0,说明是礼拜天。

注:计算天数参考我上篇博文,附链接:
http://blog.csdn.net/qq_23100787/article/details/48219005

然后在如下板块做相应修改:

if((year2-year1)<0) cout<<"应该先输入小的年份,输入错误";    if((year2-year1)==0){            weekday(JudgeMonthDay(year1,month1,month2,day1,day2));    }    if((year2-year1)==1)   weekday(backday(year1,month1,day1)+frontday(year2,month2,day2));    if((year2-year1)>1){        sum = backday(year1,month1,day1)+frontday(year2,month2,day2);        for(int i=year1+1;i<=year2-1;i++){            sum+=isyear(i);        }        weekday(sum);    }

在上篇博文的函数中添加一个weekday()函数即可

void weekday(int num){    int N = num%7;    cout<<"您输入的日期是一周中的第"<<N+1<<"天"<<endl;}

附上运行截图:
程序运行截图

注意:因为我设定1900 1 1 这个日期为星期1,所以得输入一下1900 1 1然后再输第二个日期

0 0
原创粉丝点击