时间换算 c语言

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了时间换算 c语言相关的知识,希望对你有一定的参考价值。

本题要求编写程序,以hh:mm:ss的格式输出某给定时间再过n秒后的时间值(超过23:59:59就从0点开始计时)。
输入格式:
输入在第一行中以hh:mm:ss的格式给出起始时间,第二行给出整秒数n(<60)。
输出格式:
输出在一行中给出hh:mm:ss格式的结果时间。
输入样例:
11:59:40
30

输出样例:
12:00:10

#include<stdio.h>

int main()

int hh,mm,ss;
int add;
scanf("%d:%d:%d",&hh,&mm,&ss);
scanf("%d",&add);

ss=ss+add;
if(ss>=60)
ss=ss-60;
mm++;
if(mm>=60)
mm=mm-60;
hh++;
if(hh>=24)
hh=hh-24;



printf("%d:%d:%d\\n",hh,mm,ss);




追问

测试结果一分(满分15)

追答

你把测试截图发来看看

参考技术A 网上一位大神写的,感觉是目前见过写的最好的方法。
#include<stdio.h>
int main()

int hh, mm, ss;
scanf("%d:%d:%d",&hh,&mm,&ss);
int n;
scanf("%d",&n);
ss = ss + n;
mm += (ss - ss%60) > 0, ss %= 60;
hh += (mm - mm%60) > 0, mm %= 60;
hh %= 24;
printf("%02d:%02d:%02d",hh,mm,ss);
return 0;
参考技术B #include <stdio.h>
int main()

int hours, minutes, seconds;
int num;
scanf("%d:%d:%d", &hours, &minutes, &seconds);
scanf("%d", &num);
int quotient,remain;
quotient = (seconds + num) / 60;
seconds = (seconds + num) % 60;
remain = (quotient + minutes) / 60;
minutes = (quotient + minutes) % 60;
hours = (remain + hours) % 24;
printf("%d:%d:%d", hours, minutes, seconds);
return 0;
参考技术C int main(int argc, char *argv[]) 

int t,m,s,n;
scanf("%d:%d:%d",&t,&m,&s);
scanf("%d",&n);
int all;
all=t*60*60+m*60+s+n;
printf("\\n%d:%d:%d",all/3600,(all%3600)/60,(all%3600)%60);
return 0;

以上是关于时间换算 c语言的主要内容,如果未能解决你的问题,请参考以下文章

请帮忙换算PDT和UTC时间

单片机 C语言 从AD得到一个8位二进制数 0x00~0xff 想把它换算成小数显示 0.00~1.00

时间和频率怎么换算

Mb与Kb和字节之间的换算关系是啥?

关于时间的换算(PDT、UTC和CEST)

gpa如何换算?