您的位置:首页 > 其它

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

2015-09-07 11:09 495 查看
思路:

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

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

注:计算天数参考我上篇博文,附链接:

/article/1815708.html

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

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然后再输第二个日期
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: