描述
给定年月,打印当月的月历表。
输入
输入为一行两个整数,第一个整数是年份year(1900 ≤ year ≤ 2099),第二个整数是月份month(1 ≤ month ≤ 12),中间用单个空格隔开。
输出
输出为月历表。月历表第一行为星期表头,如下所示:
Sun Mon Tue Wed Thu Fri Sat
其余各行一次是当月各天的日期,从1日开始到31日(30日或28日)。
日期数字应于星期表头右对齐,即各位数与星期表头相应缩写的最后一个字母对齐。日期中间用空格分隔出空白。
样例输入
2006 5
样例输出
Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
提示
闰年判断方法:能被4整除但不能被100整除,或者能被400整除。
1900年1月1日是周一。

#include<iostream>
using namespace std;
int fun(int year,int month);
bool leapyear(int i);
int main()
{int year,month;
int week=1;
cin>>year>>month;fun( year, month);for (int i = 1900; i < year; ++i)//得到所在年份星期
{week=((leapyear(i)?366:365)+week)%7;}//cout<<week<<"!!!"<<endl;
for (int i = 1; i < month; ++i) //得到所在月份星期
{week=(fun(year,i)+week)%7;}//cout<<week<<"!"<<endl;
cout<<"Sun Mon Tue Wed Thu Fri Sat"<<endl;
for(int i=0;i<week;++i)
{cout<<"    ";//4个空格,一个字符等于4个int
}int day=fun(year,month);//cout<<day<<"!!!"<<endl;for (int j = 1; j <= day ; ++j){if((j-1+week)%7==0)//输出换行 {cout<<endl;}printf("%3d ",j);
}
return 0;   }bool leapyear(int i)//判断闰年
{if((i%4==0&&i%100!=0)||(i%400==0)) {return true;}else{return false;}
}int fun(int year,int month)//得到天数
{switch(month){case 1:case 3:case 5:case 7:case 8:case 10:case 12:return 31;break;case 2: if(leapyear(year)==1){return 29;}else return 28;break;case 4:case 6:case 9:case 11:return 30;break;}}

给定年月,打印当月的月历表。相关推荐

  1. 根据年月打印当月日历

    import java.util.Calendar; import java.util.Scanner;public class demo07 {public static void main(Str ...

  2. 根据年月打印出该月有多少天

    为什么80%的码农都做不了架构师?>>>    代码如下: http://git.oschina.net/touch1D/hgxcl70ot2wkvm95pqaen16.code.g ...

  3. C# 计算指定年月的当月工作日方法

    工作需要,需要做一个导入钉钉考勤表的功能,在这里记录下,如何计算当月工作日天数的方法. /// <summary>/// 获取指定年月的当月工作日,不支持国家法定节假日的判断和计算,只计算 ...

  4. java 打印当月日历_74. Java打印当月日历

    自从Java 1.8 开始,提供了新的日期和时间处理对象,使用起来方便很多.对于新项目,推荐使用该API,为了兼容旧项目,原有的API仍然可以继续使用.下面就简单使用新的API打印当月的日历: pac ...

  5. php study计算闰年,IOS_IOS获取指定年月的当月天数,前言 在开发IOS中常常需要用 - phpStudy...

    IOS获取指定年月的当月天数 前言 在开发IOS中常常需要用到这一功能,在限定一个月的时间间隔为第一天和最后一天,需要知道这个月有多少天,才能知道最后一天是多少号,而且还要知道是否是闰年,可能2月只有 ...

  6. Java实验项目二——打印某年某月日历

    Program:打印万年历(输入年份,月份,输出该月的日历,已知1900年1月1日是星期一), 要 求: (1)编写一个方法判断闰年: (2)编写一个方法判断某年某月有多少天: (3)编写一个方法计算 ...

  7. 日历签到 java_Java实现按年月打印日历功能【基于Calendar】

    本文实例讲述了Java实现按年月打印日历功能.分享给大家供大家参考,具体如下: import java.text.ParseException; import java.text.SimpleDate ...

  8. java日历打印出的格式不对_Java打印某年某月的日历 没有错误但是运行出的月份与实际不符 求大神指导...

    Java打印某年某月的日历 没有错误但是运行出的月份与实际不符 求大神指导 我看了一下日历,发现你打出来的其实是九月份而不是八月份,那么我猜在showPrint这里的第二个参数是从0开始的,即0~11 ...

  9. 【SQL开发实战技巧】系列(十九):数据仓库中时间类型操作(进阶)如何一个SQL打印当月或一年的日历?如何确定某月内第一个和最后—个周内某天的日期?

    系列文章目录 [SQL开发实战技巧]系列(一):关于SQL不得不说的那些事 [SQL开发实战技巧]系列(二):简单单表查询 [SQL开发实战技巧]系列(三):SQL排序的那些事 [SQL开发实战技巧] ...

最新文章

  1. 页面重新加载_Chrome为PWA应用加入了返回和重新加载按钮
  2. 手动安装em(redhat 5/oracle 11g)
  3. JS容易犯错的this和作用域
  4. 白鹭引擎定时器代码实例
  5. 【网络基础】【TCP/IP】私有IP地址段
  6. 关于区块链的解读和简单Python实现
  7. 人工智能被拒绝,语音识别做不到给电视直播加字幕?
  8. 面向客户定制化开发项目的管理重点
  9. PyTorch学习—5.torch实现逻辑回归
  10. php无框架开发web项目,web.framework
  11. MATLAB信号处理——信号与系统的分析基础(4)
  12. EditPlus文本编辑器,中文与破解实战
  13. 游戏引擎平面折线和直线路径跟随算法
  14. 打印机连接计算机用什么端口,如何设置打印机端口,打印机端口设置的方法步骤...
  15. PYTHON Fraction 分数处理
  16. CTGU实验6_2-创建函数计算图书超期天数
  17. python erp源码_分享|值得考虑的 9 个开源 ERP 系统
  18. Ant design vue pro 添加多页签
  19. Apache安装部署
  20. 基于S12ZVM的无感FOC失步检测

热门文章

  1. CATIA二次开发:定制化需求、降低错误率和提高工作效率的完美解决方案
  2. 泛微E8开启允许转发和允许删除
  3. 临沂大学张继群-智慧农业项目招募,第一届中国新型智慧城市创新应用大赛- 智诚奖,山东省总工会创业创新大赛,技能兴鲁职业技能大赛三等奖,全国创青春挑战杯大赛三等奖,中国创翼-担保集团杯暨临沂市创业创新大
  4. xss-labs/level17
  5. windows 内核对象
  6. 微信小程序css卡片样式(带阴影效果)
  7. java如何打印List集合
  8. [毕设日记]色块分类法拼接多张DEM影像 - Arcgis Pro
  9. 传递函数转化为差分方程
  10. 全志R329如何设置蓝牙自动重连时间或关闭自动重连?