输入一个时间数值,再输入秒数 n,输出该时间再过 n 秒后的时间值,时间的表示形式为时:分:秒,
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/19 20:56:29
输入一个时间数值,再输入秒数 n,输出该时间再过 n 秒后的时间值,时间的表示形式为时:分:秒,
#include <stdio.h>
struct time{
int hour,minute,second;
};
void timecal(struct time *p,int n);
int main(void)
{
int n;
int repeat,ri;
struct time time;
scanf("%d",&repeat);
for(ri = 1; ri <= repeat; ri++){
scanf("%d:%d:%d",&time.hour,&time.minute,&time.second);
scanf("%d",&n);
timecal(&time,n);
printf("time:%d:%d:%d\n",time.hour,time.minute,time.second);
}
void timecal(stuct time*p,int n);
{
if(time.second+n<60)time.second+=n;
else if(time.second+n==60){
time.second=0;
time.minute++;
if(time.minute==60){
time.minute=0;
time.hour++;
if(time.hour==24)
time.hour=0;
}
}
else{
time.second=(n+time.second)%60;
if((time.minute+(time.second+n)/60)<60)
time.minute+=(time.second+n)/60;
else if((time.minute+(time.second+n)/60)==60){
time.minute=0;
time.hour++;
if(time.hour==24)
time.hour=0;
}
else{
time.minute=(time.minute+(time.second+n)/60)%60;
if((time.hour+(time.minute+(time.second+n)/60)/60)<24)time.hour=0;
else time.hour=(time.hour+(time.minute+(time.second+n)/60)/60)%24;
}
}
}
程序有点问题,求修正,另外有木有大神有更简单的程序分享
#include <stdio.h>
struct time{
int hour,minute,second;
};
void timecal(struct time *p,int n);
int main(void)
{
int n;
int repeat,ri;
struct time time;
scanf("%d",&repeat);
for(ri = 1; ri <= repeat; ri++){
scanf("%d:%d:%d",&time.hour,&time.minute,&time.second);
scanf("%d",&n);
timecal(&time,n);
printf("time:%d:%d:%d\n",time.hour,time.minute,time.second);
}
void timecal(stuct time*p,int n);
{
if(time.second+n<60)time.second+=n;
else if(time.second+n==60){
time.second=0;
time.minute++;
if(time.minute==60){
time.minute=0;
time.hour++;
if(time.hour==24)
time.hour=0;
}
}
else{
time.second=(n+time.second)%60;
if((time.minute+(time.second+n)/60)<60)
time.minute+=(time.second+n)/60;
else if((time.minute+(time.second+n)/60)==60){
time.minute=0;
time.hour++;
if(time.hour==24)
time.hour=0;
}
else{
time.minute=(time.minute+(time.second+n)/60)%60;
if((time.hour+(time.minute+(time.second+n)/60)/60)<24)time.hour=0;
else time.hour=(time.hour+(time.minute+(time.second+n)/60)/60)%24;
}
}
}
程序有点问题,求修正,另外有木有大神有更简单的程序分享
#include <stdio.h>
struct time{
int hour, minute, second;
};
void timecal(struct time *p, int n)
{
\x09p->second += n;
\x09if (p->second>=60)
\x09{
\x09\x09p->minute += p->second/60;//60s一分钟
\x09\x09p->second %= 60;//余数为当前秒数\x09\x09
\x09}
\x09if(p->minute>=60)
\x09{
\x09\x09p->hour += p->minute/60;//60分一小时
\x09\x09p->minute %=60;//余数为当前分钟数
\x09}
\x09if (p->hour>=24)
\x09{
\x09\x09p->hour %= 24;//余数为当前小时
\x09}
}
int main(void)
{
int n;
int repeat, ri;
struct time time;
scanf("%d", &repeat);
for(ri = 1; ri <= repeat; ri++){
scanf("%d%d%d", &time.hour, &time.minute, &time.second);
scanf("%d",&n);
timecal(&time,n);
printf("time: %d:%d:%d\n", time.hour, time.minute, time.second);
\x09}
\x09\x09
\x09return 0;
}
//测试无误
struct time{
int hour, minute, second;
};
void timecal(struct time *p, int n)
{
\x09p->second += n;
\x09if (p->second>=60)
\x09{
\x09\x09p->minute += p->second/60;//60s一分钟
\x09\x09p->second %= 60;//余数为当前秒数\x09\x09
\x09}
\x09if(p->minute>=60)
\x09{
\x09\x09p->hour += p->minute/60;//60分一小时
\x09\x09p->minute %=60;//余数为当前分钟数
\x09}
\x09if (p->hour>=24)
\x09{
\x09\x09p->hour %= 24;//余数为当前小时
\x09}
}
int main(void)
{
int n;
int repeat, ri;
struct time time;
scanf("%d", &repeat);
for(ri = 1; ri <= repeat; ri++){
scanf("%d%d%d", &time.hour, &time.minute, &time.second);
scanf("%d",&n);
timecal(&time,n);
printf("time: %d:%d:%d\n", time.hour, time.minute, time.second);
\x09}
\x09\x09
\x09return 0;
}
//测试无误
c语言编写 输入一个以秒为单位的时间值,将其转化成“时:分:秒”的形式输出,将转换操作定义成函数
c++中如何声明一个时间的结构体,可以精确表示年,月,日,时,分,秒.提示用户输入时间,并完整表示出来
输入秒数,将它按小时、分钟、秒的形式来输出.例如输入24680 秒,则输出6小时51分20秒.
帮忙编个程序:定义一个表示时间的结构体,可以精确表示年,月,日,小时,分,秒;提示用户输入年,月,
S代表时间的分,还是秒.
定义一个时间类Time满足:能设置时间;以“--:--:--”格式输出时分秒(display)
c语言 从1970年1月1日0点开始,经过n秒后的时间
如何让时间在表格中实时变动,要求是在某一个但愿格输入一个年月日时分秒,出现的时分秒是实时的.
表示时间的分钟,秒等符号怎么打
第5秒表示的时间间隔是
时间单位是用哪些符号表示时,分,秒的?
用停表测量时间时停表的示数如图,如图所示该停表所示的时间为多少分多少秒?