编写程序,实现从键盘输入一个时间(HH:MM:SS),程序输出该时间一秒后的时间。显示格式HH:MM:SS. 程序需要
发布网友
发布时间:2022-05-14 16:49
我来回答
共5个回答
热心网友
时间:2023-10-14 04:33
设计思想:
键盘输入一个时间HH:MM:SS
在SS基础上,自加1
如果第二步需要进位,那么在MM基础上自加1
如果第三步需要进位,那么在HH基础上自加1
如果第四步需要进位,那么整体回归到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
热心网友
时间:2023-10-14 04:33
实现从键盘输入时间,然后输出+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 }
没有做太多的容错判断,只是单纯的对应了一下功能。大概测试了一下,功能正常。
热心网友
时间:2023-10-14 04:34
关于读入:你可以用“:”作为输入的判断方式
关于输出:你可以判断数字考虑是否前面加0
关于判断:
判断SS是否为59,否SS加一,是归零SS
判断MM是否为59,否MM加1,是归零MM
判断HH是否为23,否HH加1,是归零
热心网友
时间:2023-10-14 04:34
你也要说明具体用的是哪种语言啊。
一般是做字符串处理,取到以冒号分隔的三段字符(hh、mm、ss)
ss=00~58时,ss自加一输出即可。
ss=59时,ss设为00,mm加一,输出即可。
同样继续判断mm若是需要进位则hh加一,hh=23时需要进位则hh=00。
另一种思路是把收到的字符串转换为Datetime对象,然后进一秒后再按照“HH:MM:SS”的格式输出,那就要看你所用的程序是不是支持Datetime类还有相关的方法了。
热心网友
时间:2023-10-14 04:35
#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;
}