C++中输出日期显示问题(不使用printf):编程题#4:Tomorrow never knows?

由于不能使用自带的printf函数,也是哭阿,好了,直接讲解题思路:题目说了可以活用setfill和setw控制符,那应该可以解决题目:

直接贴代码:

 1 #include<iostream>
 2 #include<stdio.h>
 3 #include<iomanip>
 4 #include<string.h>
 5 using namespace std;
 6 bool IsLeapYear( int year ){
 7     bool isLeap = false;
 8     if(( year % 400 == 0)||(year % 4 == 0 && year % 100 != 0))
 9     isLeap = true;
10     return isLeap;
11 }
12
13 int main() {
14     int year, month, day;
15     scanf("%d-%d-%d", &year, &month, &day);
16
17     int month_data[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
18
19     if(day >= month_data[month-1]){
20         if( month == 12 ){
21             year++;
22             month = 1;
23             day = 1;
24         }
25         else if(month == 2 ){
26             if(IsLeapYear( year ) && day == 28)
27                 day = 29;
28             else{
29                 month++;
30                 day = 1;
31             }
32         }
33         else{
34             month++;
35             day = 1;
36         }
37
38     }
39     else
40         day++;
41     cout<<setw(4)<<year<<"-";//此处设置输出字符宽度为4,后面再输出“-”
42     cout<<setw(2)<<setfill(‘0‘)<<month;//此处设置输出字符宽度为2,字符数不足的话会被0补充
43     cout<<"-"<<setw(2)<<setfill(‘0‘)<<day<<endl;//此处先打印“-”,再输出字符宽度为2,不足的由0补充。
44     return 0;
45
46 }

没有百度到解决方法,我也算是原创了。

时间: 2024-10-08 20:04:34

C++中输出日期显示问题(不使用printf):编程题#4:Tomorrow never knows?的相关文章

LeetCode中涉及到的数据结构和算法的编程题总结

1.链表 2.栈.队列.堆 3.贪心算法 4.递归回溯和分治 5.二叉树和图 6.二分查找和二叉查找树 7.哈希表和字符串 8.搜索 9.动态规划 原文地址:https://www.cnblogs.com/BaoZiY/p/10685077.html

Struts2中Date日期转换的问题

今天跑程序的时候莫名其妙的出现了下面的一个异常: java.lang.NoSuchMethodException:com.ca.agent.model.mybatis.ApprovalInforCangra.setSubDate([Ljava.lang.String;) 这类异常信息在以前是处理过的,按照以前的思路在eclipse的调试模式下看看具体的情况,不过这次比较奇怪,根本没进入到对应的Action类中就抛出了此异常信息,进一步查找发现,在调用拦截器方法的时候就抛出了此异常信息,还有没有想

iOS不得姐项目--精华模块上拉下拉的注意事项,日期显示,重构子控制器,计算cell的高度(只计算一次),图片帖子的显示

一.上拉下拉注意事项 使用MJRefresh中的上拉控件自动设置透明 当请求下页数据通过page的时候,注意的是上拉加载更多数据失败的问题,下拉加载数据失败了,页数应该还原.或者是请求成功的时候再将页数修改 二.帖子中的日期显示问题(操作日期的两个类的使用) 期望达到的效果:如图 <1>NSDate -- 需要通过NSDateFormatter(日期格式类)将日期转换成相同的格式,才能相互运算,计算出来的时间间隔是以秒数来呈现的. <2>NSCalendar(日历类) -- 通过当

[笔记]格式化jqGrid中的日期与时间,解决时分秒都显示为0

项目中的一个jqGrid列表页面的一列需要显示日期和时间,如:2011-08-10 10:20:30,查阅官方wiki文档的说明和例子,然后在colModel的需要格式化时间的列的formatter:'date'的后面加了一些 formatoptions配置,但IE和FF浏览器中都没有效果,也没提示什么错误~ 无奈官方wiki文档的日期时间格式化部分的说明和例子对我来说不够细,只好查看jquery.fmatter.js中的源代码的DateFormat部 分,还好查出来了,原来srcformat和

C语言之文件操作——输出文本文件中的内容显示在屏幕上

//文本文件的输出 /* =============================================================== 题目:输出文本文件中的内容显示在屏幕上! =============================================================== */ #include<stdio.h> #include<string.h> void main() { FILE *fp; char ch; fp=fopen

数据库中存储日期的字段类型到底应该用varchar还是datetime

将数据库中存储时间的数据类型改为varchar(),这时最好让这些时间是数据库中自动生成的(一个没有格式的输入也可能会导致输出错误),因为存储类型为varchar(),所以获取到的值也就被认为是一个字符串,直接将数据库中的时间字符串进行转化(这时那些转化函数是能识别数据库中的时间函数的),客户端的时间格式不再影响转换过程. 不过数据库中存储时间的类型如果为字符型也会带来一些麻烦: 数据库中的时间仅仅是用来显示.查找的,那么影响还不算大,但如果对时间字段进行一些算法如计算星期.DateDiff.D

Android中关于日期时间与时区的使用总结

原文引自:http://www.2cto.com/kf/201312/266908.html 在开发Android的过程中,出现过几次由于日期时间导致的问题,而且主要是由于时区的原因导致,所以一直想总结一下,形成一个良好的开发规范. 一.Unix时间戳 Unix时间戳(Unix timestamp),或称Unix时间(Unix time).POSIX时间(POSIX time),是一种时间表示方法,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数.Unix时间戳不仅被

详解Java中格式化日期的DateFormat与SimpleDateFormat类

DateFormat其本身是一个抽象类,SimpleDateFormat 类是DateFormat类的子类,一般情况下来讲DateFormat类很少会直接使用,而都使用SimpleDateFormat类完成,下面我们具体来看一下两个类的用法: DateFormat1. DateFormat 介绍DateFormat 的作用是 格式化并解析“日期/时间”.实际上,它是Date的格式化工具,它能帮助我们格式化Date,进而将Date转换成我们想要的String字符串供我们使用不过DateFormat

java中Calendar日期对象

转帖网上简介 Calendar c = Calendar.getInstance();//创建实例 默认是当前时刻 c.get(Calendar.YEAR); c.get(Calendar.MONTH); c.get(Calendar.DATE);//获取年,月,日 当然时分秒也可以 注意这里的月份比较特殊 从0开始 c.get(Calendar.DAY_OF_WEEK);//获取当前日期在星期中的第几天 从1-7对应 日-六 c.getActualMaximum(Calendar.DAY_OF