输入一个时间数值,再输入秒数 n,输出该时间再过 n 秒后的时间值,时间的表示形式为时:分:秒,#include <stdio.h>struct time{ int hour,minute,second;};void timecal(struct time *p,int n);int main(void){ int n;

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/01 01:26:48

输入一个时间数值,再输入秒数 n,输出该时间再过 n 秒后的时间值,时间的表示形式为时:分:秒,#include <stdio.h>struct time{ int hour,minute,second;};void timecal(struct time *p,int n);int main(void){ int n;
输入一个时间数值,再输入秒数 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;
                  }
           }
 
}                   
程序有点问题,求修正,另外有木有大神有更简单的程序分享

输入一个时间数值,再输入秒数 n,输出该时间再过 n 秒后的时间值,时间的表示形式为时:分:秒,#include <stdio.h>struct time{ int hour,minute,second;};void timecal(struct time *p,int n);int main(void){ int n;
#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;

//测试无误

输入一个时间数值,再输入秒数 n,输出该时间再过 n 秒后的时间值,时间的表示形式为时:分:秒,#include <stdio.h>struct time{ int hour,minute,second;};void timecal(struct time *p,int n);int main(void){ int n; 用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出.写出C程序 输入m、n(要求输入数均大于0),输出它们的最大公约数,用数值写简单点的. java计算日期问题用户从键盘输入一个时间,如:2013-11-06 18:30:38,输入一个整数n,例如n=280,程序输出距离该时间n天后的时间,并用格式xxxx年xx月xx日xx 小时:xx分:xx秒输出新时间. pascal中输入n个一位数再输入s,用n个数组成n位数(数不可重复),从大到小排列后,输出第s个数先输入n,再输入n个数可能会组成100位数 输入秒数,将它按小时、分钟、秒的形式来输出.例如输入24680 秒,则输出6小时51分20秒.是C方向的 如图,是一个数值转换器,若输入数2,则输出数是( ) 数值转换机若输入数是3,输入数→()2一1→()2+1→输出数,输出数是什么?其中2是平方, 输入一个数,将该数的每位数字输出,再输出该数的反序数.例如,输入1234,输出1、2、3、4,再输出4321要求用循环做,还要是对任意的N成立C++语言 如图是一个数值转换器若输入-3则输出数是()输入数→()²-1→()²+1→输出数 如图,是一个数值转算机,若输入3,则输出的数是? 求一个C语言程序:输入正整数,要求以相反数顺序输出该数.如输入1234,输出4321. C语言:输入某时刻的时数,分数,秒数,转化成秒数输出. 编程,输入一个正整数N,再输入NG个整数,输出其中的最大值,输入的每个数都在100~200输入一个正整数N,再输入N个整数,输出其中的最大值,输入的每个数都在100~200之间,如果某个数不在100~200之间, 将一个正数n输入数值转换机产生n(n+1)/2的个位数字,若将该机器输入的原始数a,将所产生的第一个数字记为a①,再输入a①,将所产生的第二个数字记为a②,再输入a②...以此类推,若输入a=2,则a②o C语言,输入一个整数n再输入n个整数,输出其中所有偶数 c语言输入一个正整数n,再输入n个整数,降序输出 输入一个正整数,输出该数的阶乘.求整数n的阶乘公式为:=1*2*…*n.(n!表示n的阶乘)