编写程序,实现从键盘输入一个时间(HH:MM:SS),程序输出该时间一秒后的时间。显示格式HH:MM:SS. 程序需要 5

c语言... c语言 展开
 我来答
靠谱儿妈妈
2017-11-07 · TA获得超过957个赞
知道小有建树答主
回答量:741
采纳率:74%
帮助的人:263万
展开全部

设计思想:

  1. 键盘输入一个时间HH:MM:SS

  2. 在SS基础上,自加1

  3. 如果第二步需要进位,那么在MM基础上自加1

  4. 如果第三步需要进位,那么在HH基础上自加1

  5. 如果第四步需要进位,那么整体回归到00:00:00

代码如下:

#include<stdio.h>
#include<string.h>
int main() {
        int hh,mm,ss;
        scanf("%d:%d:%d",&hh,&mm,&ss);//键盘输入一个时间HH:MM:SS

        ss++;//秒数自加1
        if(60==ss){//60秒,需要进位
                ss=0;//秒数清0
                mm++;//分钟数自加1
                if(60==mm){//60分,需要进位
                        mm=0;//分钟数清0
                        hh++;//小时数自加1
                        if(24==hh){//24时,需要进位
                                hh=0;//小时数清0
                        }
                }
        }
        printf("%02d:%02d:%02d\n",hh,mm,ss);//按规定格式输出时分秒
        return 0;
}

运行结果

23:59:59
00:00:00
I烟雨楼I
2017-10-05 · TA获得超过276个赞
知道小有建树答主
回答量:444
采纳率:75%
帮助的人:81.5万
展开全部
实现从键盘输入时间,然后输出+1后的时间,比如23:59:59

  1 #include <stdio.h>
  2 
  3 int main()
  4 {
  5         int HH, MM, SS;
  6         printf("Input HH:MM:SS\n");
  7         scanf("%d:%d:%d",&HH,&MM,&SS);
  8         SS++;
  9         if (SS == 60){
 10                 SS = 0;
 11                 MM ++;
 12         }
 13         if (MM == 60){
 14                 MM = 0;
 15                 HH ++;
 16         }
 17         if (HH == 24){
 18                 HH = 0;
 19                 MM = 0;
 20                 SS = 0;
 21         }
 22         printf("Now is %d:%d:%d\n",HH,MM,SS);
 23 }

没有做太多的容错判断,只是单纯的对应了一下功能。大概测试了一下,功能正常。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
在雨中的幻想
2017-09-19 · 超过38用户采纳过TA的回答
知道小有建树答主
回答量:98
采纳率:0%
帮助的人:19.3万
展开全部
关于读入:你可以用“:”作为输入的判断方式
关于输出:你可以判断数字考虑是否前面加0
关于判断:
判断SS是否为59,否SS加一,是归零SS
判断MM是否为59,否MM加1,是归零MM
判断HH是否为23,否HH加1,是归零
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友e32118b
2010-12-28 · TA获得超过333个赞
知道小有建树答主
回答量:392
采纳率:0%
帮助的人:271万
展开全部
你也要说明具体用的是哪种语言啊。

一般是做字符串处理,取到以冒号分隔的三段字符(hh、mm、ss)
ss=00~58时,ss自加一输出即可。
ss=59时,ss设为00,mm加一,输出即可。

同样继续判断mm若是需要进位则hh加一,hh=23时需要进位则hh=00。

另一种思路是把收到的字符串转换为Datetime对象,然后进一秒后再按照“HH:MM:SS”的格式输出,那就要看你所用的程序是不是支持Datetime类还有相关的方法了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
检怜南0F8
2017-09-19 · TA获得超过305个赞
知道小有建树答主
回答量:290
采纳率:0%
帮助的人:159万
展开全部
#include <stdio.h>
int main()
{
//定义时分秒变量
   int HH;
   int MM;
   int SS;
   //输入变量
   printf("请输入时间(HH:MM:SS)\n");
   scanf("%d:%d:%d",&HH,&MM,&SS);
   printf("时间:\n")
   printf("%d:%d:%d",HH,MM,SS+1);
   return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式