时间换算 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
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语言的主要内容,如果未能解决你的问题,请参考以下文章