蓝桥杯 5-3日历 日期计算
时间:2020-04-17
本文章向大家介绍蓝桥杯 5-3日历 日期计算,主要包括蓝桥杯 5-3日历 日期计算使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
问题描述
已知2007年1月1日为星期一。设计一函数按照下述格式打印2007年以后(含)某年某月的日历,2007年以前的拒绝打印。为完成此函数,设计必要的辅助函数也是必要的。
样例输入
一个满足题目要求的输入范例。
例:
2050 3
例:
2050 3
样例输出
与上面的样例输入对应的输出。
例:
例:
数据规模和约定
输入数据中每一个数的范围。
例:年 2007-3000,月:1-12。
例:年 2007-3000,月:1-12。
转载自https://blog.csdn.net/weixin_40124642/article/details/78442406
1 #include <bits/stdc++.h> 2 using namespace std; 3 bool is_leap(int y) { 4 if ((y % 4 == 0 && y % 100 != 0) || y % 400 == 0) { //四年一闰,百年不闰,四百年又闰的代码表示 5 return true; 6 } else { 7 return false; 8 } 9 } 10 int a[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; 11 int main() { 12 int y, m; 13 cin >> y >> m; 14 if (is_leap(y)) { 15 a[2]++; 16 } 17 int c = 1; //今年到该月一号的天数. 18 for (int i = 0; i < m; i++) { 19 c += a[i]; 20 } 21 int s = (y - 1) + ((y - 1) / 4) + ((y - 1) / 400) - ((y - 1) / 100) + c; 22 s %= 7; 23 //y年m月1日的星期为s 24 //cout << "week = " << s << endl; 25 cout << "Calendar " << y << " - "; 26 if (m < 10) { 27 cout << 0; 28 } 29 cout << m << endl; 30 cout << "---------------------" << endl; 31 cout << "Su Mo Tu We Th Fr Sa " << endl; 32 cout <<"---------------------"<<endl; 33 for (int i = 0; i < s; i++) { 34 cout << " "; 35 } 36 for (int i = 1; i <= a[m]; i++) { 37 if ((s + i - 1) % 7 == 0) { 38 cout << endl; 39 } 40 if (i < 10) { 41 cout << " "; 42 } 43 cout << i << " "; 44 } 45 cout << endl; 46 cout << "---------------------" << endl; 47 return 0; 48 } 49 /* 50 计算公元某年某月某日是星期几,是这样的一个算式: 51 S=(y-1)+[(y-1)/4]-[(y-1)/100]+[(y-1)/400]+C 52 其中y是公元的年数,C是从这一年的元旦算起到这一天为止(包括这一天是内)的天数. 53 方括号表示其中算式的整数部分,即在计算S的值时,三个方括号中只要算出商数的整数部分,把余数略去不计. 54 求出S的值之后,除以7,余几就是星期几;除尽了就是星期日. 55 我们来计算一下2008年12月25日是星期几?此时x=2008 C=360于是可得 56 :S=(2008-1)+[(2008-1)÷4]-[(2008-1)÷100]+[(2008-1)÷400]+360=2853 3853÷7=407……4 57 那么2008年的12月25日是星期四 58 */
原文地址:https://www.cnblogs.com/fx1998/p/12720188.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 测试面试题集-Linux常用命令
- 「真香警告」鱼头手摸手教你在小程序里用composition-api
- 【技术文】SSL握手中的几个密码
- 分布式监控系统SkyWalking
- 文献笔记二十九:银合欢(Leucaena trichandra)线粒体基因组
- Docker Swarm群集配置实战——第一战
- 文献笔记五十:vcf2poptree根据vcf文件构建进化树的网页工具
- typescript基础篇(6):泛型
- Flutter 初学者必读的高级布局规则
- Docker Swarm群集配置实战——第二战
- Python 基础(五):序列
- OpenCV黑魔法之隐身衣 | 附源码
- SQL 统计用户留存
- 常用的前端JQ插件
- 面向对象编程(设计模式)需要遵循的 6 个基本原则