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

© Akrios 中级黑马   /  2015-4-16 21:55  /  2944 人查看  /  15 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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


怎么都写不对 用了3个FOR循环 总是23:59:60

15 个回复

倒序浏览
楼上的 思维挺好的 但是方法不正确 结果不正确
回复 使用道具 举报
你这样能用c语言做么
回复 使用道具 举报
  1. //
  2. //  main.c
  3. //  时钟问题
  4. //  输入一个时钟数,输出下一秒的时间

  5. #include <stdio.h>

  6. int main(int argc, const char * argv[]) {
  7.    
  8.     int hour,minute,second;
  9.    
  10.     printf("请输入一个时间,以冒号隔开:");
  11.    
  12.     scanf("%d:%d:%d",&hour,&minute,&second);
  13.    
  14.     if (second == 59) {
  15.    
  16.         second = 0;
  17.         
  18.         minute++;
  19.         
  20.         if (minute == 60) {
  21.             
  22.             minute = 0;
  23.             
  24.             hour++;

  25.             if (hour == 24) {
  26.                
  27.                 hour = 0;
  28.             }
  29.         }
  30.     }
  31.     else{
  32.         
  33.         second++;
  34.     }

  35.    printf("%02d:%02d:%02d\n",hour,minute,second);
  36.    
  37.     return 0;
  38. }
  39. 这个如果用for循环做的话,我是想不出来,但是我用if的嵌套格式做出来了,楼上发的那个我感觉可以实现,但是在运行的时候输入23:59:59会输出24:61:0 。希望可以帮到你!

复制代码

评分

参与人数 1黑马币 +1 收起 理由
舒少勇 + 1 很给力!

查看全部评分

回复 使用道具 举报 1 0
没看懂你到底想要实现什么功能
回复 使用道具 举报
  1. #include <stdio.h>
  2. int main()
  3. {
  4.     int shi=0;
  5.     int fen=0;
  6.     int miao=0;
  7.    
  8.     printf("请输入时间值(用:隔开):\n");
  9.     scanf("%d:%d:%d",&shi,&fen,&miao);
  10.     if (miao <59)
  11.     {
  12.         miao++;
  13.     }else
  14.         
  15.     {
  16.         fen++;
  17.         miao=0;
  18.     }
  19.     if (fen==60)
  20.     {
  21.         shi++;
  22.         fen=0;
  23.     }
  24.     if(shi==24)
  25.     {
  26.         shi=0;
  27.     }
  28.     printf("下一秒是%02d:%02d:%02d\n",shi,fen,miao);
  29.     return 0;
  30. }
复制代码
不知道是不是你想要的。
回复 使用道具 举报
sunyang 发表于 2015-4-17 16:32
我结果没有优化输出格式,加几个判断就好了。或者加一个数组,把结果存进去,打印的时候判断是不是0,是0 ...

是的 ,今天我也想了一下,你的那一段程序缺个判断,你的思路绝对是最牛的!我和室友看到后简直自愧不如!加油!
回复 使用道具 举报
sunyang 发表于 2015-4-17 16:34
你确定你输入正确了? 我测试的时候测试过23:59:59
输出结果是0:0:0
由于是格式问题我就没在改 ...

恩  输入23:59:59 是对的 但是输入其他的 就不对了  不过你的这个想法非常好啊   你在if里面再判断下 就应该ok了
回复 使用道具 举报
mony 中级黑马 2015-4-20 22:35:30
9#
for循环没法做吧,楼主是不是想说用了三个if嵌套啊?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马