Coursera 学习记录:Tomorrow never knows?(实现日期加一的操作)
描述
甲壳虫的《A day in the life》和《Tomorrow never knows》脍炙人口,如果告诉你a day in the life,真的会是tomorrow never knows?
相信学了计概之后这个不会是难题,现在就来实现吧。
读入一个格式为yyyy-mm-dd的日期(即年-月-日),输出这个日期下一天的日期。可以假定输入的日期不早于1600-01-01,也不晚于2999-12-30。
输入
输入仅一行,格式为yyyy-mm-dd的日期。
输出
输出也仅一行,格式为yyyy-mm-dd的日期。
提示
闰年的标准:
(1)普通年能被4整除且不能被100整除的为闰年。(如2004年就是闰年,1901年不是闰年)
(2)世纪年能被400整除的是闰年。(如2000年是闰年,1100年不是闰年)
可以利用一个字符变量吃掉输入的短横线(减号),输出时请活用setfill和setw 控制符。
setfill example
#include <iostream> // std::cout, std::endl
#include <iomanip> // std::setfill, std::setwint main () {
std::cout << std::setfill ('x') << std::setw (10);
std::cout << 77 << std::endl;
return 0;
}在这里
cout << year << '-' << setw(2) << setfill('0') << month << '-' << setw(2)<< setfill('0')<< day << endl;
#include<iostream>
#include<iomanip>
using namespace std;// 通过字符变量将-吃掉,即:在输入是用char字符变量来接收
int main() {int year, month, day;char m, n;cin >> year >> m >> month >> n >> day;//下面开始判断是否为闰年bool leap = 0;bool special = 0;if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {leap = 1;}// 先处理特殊:闰年以及月增和年增// 通过一个bool值,来表示是否发生了月增或者年增?if (month == 2) {if (leap == 1 && day == 29) {month += 1;day = 1;special = 1;}if (leap == 0 && day == 28) {month += 1;day = 1;special = 1;}}//然后是处理年增if (0 < month <= 12) {if (month == 12 && day == 31) {year += 1;month = 1;day = 1;special = 1;}if ((month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10) && day == 31) {month += 1;day = 1;special = 1;}if ((month == 4 || month == 6 || month == 9 || month == 11) && day == 30) {month += 1;day = 1;special = 1;}// 这里使用else并不好//会出现2000-00-00变成2000-00-01//else {// day += 1;//}if (special == 0) {day += 1;}}cout << year << '-' << setw(2) << setfill('0') << month << '-' << setw(2) << setfill('0') << day << endl;return 0;}
Coursera 学习记录:Tomorrow never knows?(实现日期加一的操作)相关推荐
- 小余学调度:学习记录(2021.9.13-2021.9.19)母线操作和线路操作
小余学调度系列文章,记录小余同学入职电力调度员一路的学习记录,由于工作性质,在这个系列,只写能公开的知识点,不涉及机密. 提示:专栏解锁后,可以看这个专栏所有文章,划算. 文章目录 一.母线停送电和倒 ...
- Coursera 学习记录:细菌分组(通过冒泡排序实现两组有差异的分类)
描述 有一种细菌分为A.B两个亚种,它们的外在特征几乎完全相同,仅仅在繁殖能力上有显著差别,A亚种繁殖能力非常强, B亚种的繁殖能力很弱.在一次为时一个小时的细菌繁殖实验中,实验员由于疏忽把细菌培养皿 ...
- 不逼自己一把都不知道自己还能这么优秀(小鹅通学习记录大批量队列同步)
不逼自己一把都不知道自己还能这么优秀-小鹅通学习记录大批量队列同步实战日志 前言 一.编程语言介绍 1.php是世界上最好的语言 2.第三方API对接的苦恼 3.为什么说好的项目进度表都是画饼 二.炫 ...
- [Django]模型学习记录篇--基础
模型学习记录篇,仅仅自己学习时做的记录!!! 实现模型变更的三个步骤: 修改你的模型(在models.py文件中). 运行python manage.py makemigrations ,为这些修改创 ...
- Matlab学习记录 1
文章目录 Matlab学习记录 使用帮助文档 Matlab读取CSV文件 MATLAB查看变量的类型 Matlab 提取矩阵 某一行 或者 某一列 的方法 mic的计算 矩阵下标从1开始 矩阵转置 获 ...
- MySQL学习记录 (三) ----- SQL数据定义语句(DDL)
相关文章: <MySQL学习记录 (一) ----- 有关数据库的基本概念和MySQL常用命令> <MySQL学习记录 (二) ----- SQL数据查询语句(DQL)> &l ...
- MySQL学习记录 (一) ----- 有关数据库的基本概念和MySQL常用命令
相关文章: <MySQL学习记录 (一) ----- 有关数据库的基本概念和MySQL常用命令> <MySQL学习记录 (二) ----- SQL数据查询语句(DQL)> &l ...
- linux文件权限记录,linux文件权限学习记录
linux文件权限学习记录 1.Linux 的安全性 1.1/etc/passwd 文件 存放用户的登录名以及相关信息#cat / etc / passwd root: x: 0 : 0 : roo ...
- linux个人学习记录
linux学习记录 资料: Linux 黑马程序员_bilibili AcWing Linux基础课 可能是东半球最全面易懂的 Tmux 使用教程! Shell 教程 | 菜鸟教程 (runoob.c ...
最新文章
- TemplateBuilder
- ECCV 2020 | 腾讯优图8篇论文入选,涵盖目标跟踪、行人重识别、人脸识别等领域...
- 了解活动目录操作主机角色及GUI命令行查看方法
- sharepoint 2010 使用WinForm获取 SPSite对象
- Java网络爬虫实操(8)
- jQuery实现鼠标划过展示大图的方法
- java spring bean配置文件_Spring基于xml文件配置Bean过程详解
- lnmp 备份mysql_mysql全量备份与增量备份
- 计算机编程c 语言实型数据,C语言-基础教程-C语言实型数据
- 移动互联网实战--资源类APP的数据存储处理和优化
- vue中将axios封装
- U-最小公倍数 递归
- LuaForUnity9:uLua的一个简单实例
- 使用android日志工具
- Java基础,删除指定索引的元素,编程思路详解
- 回声状态网络(ESN)实现手写数字识别(MNIST)
- 黑马优购uni-app
- 快速接入 微信微博QQ钉钉 原生登录分享
- 中国洗衣胶囊行业市场供需与战略研究报告
- 我的世界手机版虚拟人生服务器,我的世界大型虚拟人生整合包