A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Akrios 中级黑马   /  2015-4-18 00:42  /  1631 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

输入一个时间,输出这个时间后的下一秒
例如:
输入:  23:59:59     输出: 00:00:00
输入:  12:34:23     输出: 12:34:24


这道题真不会啊 急求大神帮忙 感谢

3 个回复

倒序浏览
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输出到屏幕

评分

参与人数 1技术分 +1 收起 理由
Micro + 1 赞一个!

查看全部评分

回复 使用道具 举报
本帖最后由 wslinke 于 2015-4-18 18:30 编辑

  1. /*
  2. 输入一个时间,输出这个时间后的下一秒
  3. 例如:
  4. 输入:  23:59:59     输出: 00:00:00
  5. 输入:  12:34:23     输出: 12:34:24
  6. */

  7. #include <stdio.h>
  8. int main(void)
  9. {
  10.     printf("输入一个时间,格式如右  23:59:59\n");
  11.    
  12.     //声明3个整型变量来存放小时,分钟,秒钟
  13.     int hour,minute,second;
  14.    
  15.     //按指定格式读取时间
  16.     scanf("%d:%d:%d",&hour,&minute,&second);
  17.    
  18.     //先对秒钟数加1,如果大于等于60,就减掉60,分钟数进1
  19.     if (++second >= 60) {
  20.         second -= 60;
  21.         minute++;
  22.     }
  23.    
  24.     //判断秒钟加1是否使得分钟数大于等60,如果超过59分就对小时数进1
  25.     if (minute >= 60){
  26.         minute -= 60;
  27.         hour++;
  28.     }
  29.    
  30.     //如果小时数超过23,新的一天开始了,小时数减去24
  31.     if (hour >= 24) {
  32.         hour -= 24;
  33.     }
  34.    
  35.     //这里用%02d打印时间 2代表输出2位数字宽度,0代表不足2位的前面补零
  36.     printf("%02d:%02d:%02d",hour,minute,second);
  37.     return 0;
  38. }
复制代码


评分

参与人数 1技术分 +1 收起 理由
Micro + 1 很给力!

查看全部评分

回复 使用道具 举报
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马