黑马程序员技术交流社区
标题: 输出下一秒的时间 [打印本页]
作者: Akrios 时间: 2015-4-18 00:42
标题: 输出下一秒的时间
输入一个时间,输出这个时间后的下一秒
例如:
输入: 23:59:59 输出: 00:00:00
输入: 12:34:23 输出: 12:34:24
这道题真不会啊 急求大神帮忙 感谢
作者: 麻木 时间: 2015-4-18 17:17
60进制和24进制
输入一个时间值 加入设定 输入小时 hour 分钟minute 秒 second
second=second + 1;
if(60==second)
{second = 0;
minute =minute +1;
if(60==minute)
{
minute = 0;
hour = hour+1;
if(24==hour)
{
hour =0;并输出“新的一天了”
}
}
}
然后将新的 hour minute second输出到屏幕
作者: wslinke 时间: 2015-4-18 18:29
本帖最后由 wslinke 于 2015-4-18 18:30 编辑
- /*
- 输入一个时间,输出这个时间后的下一秒
- 例如:
- 输入: 23:59:59 输出: 00:00:00
- 输入: 12:34:23 输出: 12:34:24
- */
- #include <stdio.h>
- int main(void)
- {
- printf("输入一个时间,格式如右 23:59:59\n");
-
- //声明3个整型变量来存放小时,分钟,秒钟
- int hour,minute,second;
-
- //按指定格式读取时间
- scanf("%d:%d:%d",&hour,&minute,&second);
-
- //先对秒钟数加1,如果大于等于60,就减掉60,分钟数进1
- if (++second >= 60) {
- second -= 60;
- minute++;
- }
-
- //判断秒钟加1是否使得分钟数大于等60,如果超过59分就对小时数进1
- if (minute >= 60){
- minute -= 60;
- hour++;
- }
-
- //如果小时数超过23,新的一天开始了,小时数减去24
- if (hour >= 24) {
- hour -= 24;
- }
-
- //这里用%02d打印时间 2代表输出2位数字宽度,0代表不足2位的前面补零
- printf("%02d:%02d:%02d",hour,minute,second);
- return 0;
- }
复制代码
作者: 麻木 时间: 2015-4-18 18:34
高手 给赞
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |