经典算法探究:计算某日期是星期几
2015-09-07 11:09
495 查看
思路:
设定一个原始日期,及其为星期几,为了保险起见,我设定1900一月一日 为礼拜一,日期表上也是如此。
然后计算 输入的日期 与 1900 之间的天数,然后用天数%7 ,其余数分别代表了礼拜几,如果为0,说明是礼拜天。
注:计算天数参考我上篇博文,附链接:
/article/1815708.html
然后在如下板块做相应修改:
在上篇博文的函数中添加一个weekday()函数即可
附上运行截图:
注意:因为我设定1900 1 1 这个日期为星期1,所以得输入一下1900 1 1然后再输第二个日期
设定一个原始日期,及其为星期几,为了保险起见,我设定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然后再输第二个日期
相关文章推荐
- Java构造和解析Json数据的两种方法详解一
- Solve Error: 'has incomplete type', foward declaration of 'class x'
- tomcat 部署方式
- 比较与整理GDI与GDIPlus抓取、合并和保存位图的方法
- JS中获取元素位置以及宽高的各种属性整理
- Linux学习笔记一 ---- Linux基础知识认知以及初识Linux下C编程入门
- poj 3468 A Simple Problem with Integers || 线段树
- BlockingQueue深入分析
- Linux进程间的通信——管道
- 文章标题
- 行人检测(Pedestrian Detection)资源整理
- hdu3555(数位dp)
- VC: MBCS字符集转换成UTF-8
- 抽象类
- 大数相减
- android bundle能传递bitmap吗
- oracle解析xml完成版
- Algorithm --> 求N以内的真分数个数
- Java算法-1.连通性问题
- 用指针修改const变量问题