【C++编程题】C++打印日历
题目描述
输入年份与月份,打印该月日历。
参考代码
#include <iostream>
using namespace std;// 函数printMonth:按要求的格式打印某年某月的日历
// 参数:year-年,month-月
// 返回值:无
void printMonth(int year, int month);// leapYear:判断闰年
// 参数:y-年
// 返回值:1-是闰年,0-不是闰年
int leapYear(int y)
{if(y % 4 == 0 && y % 100 != 0 || y % 400 == 0)return 1;return 0;
}// 函数whatDay:计算某年某月的1号是星期几
// 参数:year-年,month-月
// 返回值:1到7--星期1到星期日
int whatDay(int year, int month)
{int y=1,day=0;int mon[12]={31, 28, 31, 30, 31,30,31, 31, 30, 31, 30, 31 };if(leapYear(year)) mon[1] = 29;while (y<year){if (leapYear(y)) day += 366;else day += 365;y++;}for(int i=1;i<month;i++){day += mon[i-1];}day += 1;day %= 7;if(day == 0) return 7;else return day;
}void printMonth(int year, int month)
{int mon[12]={31, 28, 31, 30, 31,30,31, 31, 30, 31, 30, 31 };if(leapYear(year)) mon[1] = 29;int i=0,j=0,d,day;day = mon[month-1];cout<<" Mon Tue Wes Thr Fri Sat Sun"<<endl;d = 1;while(d<=day){i++;j++;if(j < whatDay(year,month)) cout<<" ";else{printf("%4d",d);d++;}if(i==7){cout<<endl;i=0;}}whatDay(year,month);
}int main()
{// 年、月int y, m;// 输入年月cin >> y >> m;// 输出该年月的日历printMonth(y,m);return 0;
}
【C++编程题】C++打印日历相关推荐
- 第六章第三十四题(打印日历)(Print calendar) - 编程练习题答案
**6.34(打印日历)编程练习题3.21使用Zeller一致性原理来计算某天是星期几.使用Zeller的算法简化程序清单6-12以获得每月开始的第一天是星期几. **6.34(Print calen ...
- Python:打印日历,验证信用卡号是否合法
Python语言基础-2.5函数基础(理) 第5关:函数综合实训-打印日历 本关任务:利用函数的知识完成如下习题: 1.编写判断信用卡号是否合法的判断程序. 2.编写函数模块,打印日历程序 第1题 信 ...
- Java黑皮书课后题第6章:**6.34(打印日历)编程练习题3.21使用Zeller一致性原理来计算某天是星期几,使用Zeller的算法简化程序清单6-12以获得每月开始的第一天是星期几
6.34(打印日历)编程练习题3.21使用Zeller一致性原理来计算某天是星期几,使用Zeller的算法简化程序清单6-12以获得每月开始的第一天是星期几 题目 题目描述 编程练习题3.21的Zel ...
- Linux编程题:信号量同步三进程依次打印若干次ABC
三个进程依次打印ABC..... 思路及大致流程如下: 思路取自这位大哥: Linux编程题:创建3个线程分别打印abc,用信号量进行同步_cleverlemon的博客-CSDN博客 这位大哥写的是线 ...
- /* * 编程题第五题(20分): 本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印 ***** *** * *** ***** 所谓“
题目: 编程题第五题(20分): 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个"*",要求按下列格式打印 ***************** 所谓" ...
- java 打印一棵树_java编程题之从上往下打印出二叉树
本文实例为大家分享了java从上往下打印出二叉树的具体代码,供大家参考,具体内容如下 import java.util.ArrayList; import java.util.Stack; /** * ...
- java程序输出矩阵_java编程题之顺时针打印矩阵
本文实例为大家分享了java顺时针打印矩阵的具体代码,供大家参考,具体内容如下 import java.util.ArrayList; /** * * 剑指offer编程题(JAVA实现)--第19题 ...
- 蓝桥杯大赛青少年创意编程 第十一届 省赛 C++组试题 第1题 双面打印
/* 蓝桥杯大赛青少年创意编程 第十一届 省赛 C++组试题 第1题 双面打印 题目描述在2020年这个漫长的寒假里,虽然小蓝和他的同学们都在家里,但依旧通过网课的方式坚持学习,而老师们也依旧会布置作 ...
- 顺时针打印矩阵(编程题讲解)
顺时针打印矩阵 题目描述 题目分析 python代码 使用python矩阵的旋转 矩阵的转置代码 python旋转矩阵解法代码 <剑指offer> 编程题讲解. 题目描述 输入 ...
- 【牛客刷题专栏】0x27:JZ29 顺时针打印矩阵(C语言编程题)
前言 个人推荐在牛客网刷题(点击可以跳转),它登陆后会保存刷题记录进度,重新登录时写过的题目代码不会丢失. 个人刷题练习系列专栏:个人CSDN牛客刷题专栏. 题目来自:牛客/题库 / 在线编程 / 剑 ...
最新文章
- LaunchScreen.xib 设置启动图
- swift_045(Swift @IBDesignable和@IBInspectable使用)
- C#制作自定义安装程序
- Jmeter启动错误及解决方案
- flink 7-提交任务
- 国产数据库占央采九成份额
- 区块链每日一问 | 数字货币的场内交易和场外交易各指什么?各有哪些特点?...
- Android 仿360桌面小人
- android 预优化oat_Android内存优化大盘点
- Java学习之JavaWeb篇
- {工作记录}遇到过的网络攻击合集爬虫User-Agent记录..{持续更新}
- 寒假第二周学习总结与反思
- 腾讯IT男转行数据后感慨:没用过这个工具,别说自己懂报表,这么做领导才满意
- mysql ignore用法_MySQL中的insert ignore into, replace into等的一些用法总结
- u盘文件突然不见了怎么样才能恢复呢?
- 飞机大战(完整代码)
- 设计模式之禅【迭代器模式】
- ssis 转换中文字符乱码_SSIS软件包中的字符映射转换
- 用c 语言循环抓取网页,C语言获取网页源代码
- 查看文章 mysql:表注释和字段注释