【问题描述】编写自定义函数实现时间加法,输入一个时间数值(时:分:秒的形式),再输入一个秒数n(n<60),以时:分:秒的格式输出该时间再过n秒后的时间值(超过24点重新开始计时)
【输入形式】先输入当前时间,格式是时(整型):分(整型):秒(整型),再输入间隔的秒数n(整型,n<60)
【输入样例】(下划线部分表示输入)
Input time:11:59:40
Input duration:30
【输出样例】
New time:12:0:10
【样例说明】
输出更新后的时间值,输出格式为New time:%d:%d:%d,时间之间的冒号全部为英文冒号:
思路:
先分析,把数值传给函数,函数内进行运算,每当六十进行向上传1,没想到系统给的测试数据中n的值超过60
所以在函数中进行了判断。
#include<stdio.h>
#include<stdlib.h>
int main()
{
void time(int hour,int min,int second,int n);//时间加法
int hour,min,second;
int n;
scanf("%d:%d:%d",&hour,&min,&second);
scanf("%d",&n);
time(hour,min,second,n);
return 0
}
void time(int hour,int min,int second,int n)
{
if (n>60)
{
min+=n/60;
second+=n%60;
}
else
second+=n;
if(second>=60)
{
min++;
second-=60;
}
if(min>=60)
{
hour++;
min-=60;
}
if(hour>=24)
{
hour-=24;
}
printf("New time:%d:%d:%.2d",hour,min,second);
}