m0_68005825 2022-05-30 09:48 采纳率: 100%
浏览 25
已结题

定义结构体类型,计算输入的两个时刻的秒数差

样例输入 5:13:20 5:18:21
样例输出 301seconds

  • 写回答

1条回答 默认 最新

  • 白驹_过隙 算法领域新星创作者 2022-05-30 09:52
    关注

    img

    #include<stdio.h>
    #include<math.h>
     
     
    struct clock//定义时间结构体,成员为时、分、秒
    {
        int hour,minute,second;
    };
     
    struct clock sub(struct clock *p1, struct clock *p2)//结构体函数
    {
        struct clock t;//创建一个结构体变量
        int s1,s2;//总秒数
        int st;//相差的秒数
     
        s1 = (p1 -> hour) * 60 * 60 + (p1 -> minute) * 60 + (p1 -> second); //计算总共的秒数
        s2 = (p2 -> hour) * 60 * 60 + (p2 -> minute) * 60 + (p2 -> second);
        st = abs(s1 - s2);//计算相差的秒数
     
        t.hour = st / (60 * 60);//计算小时
        st %= (60 * 60);//计算除去小时外的秒数
        t.minute = st / 60;//计算分钟
        st %= 60;//计算除去分钟外的秒数
        t.second = st;
     
        return t;//返回改变后的结构体
    };
     
    int main()
    {
        struct clock clock1,clock2,clock3;
     
        scanf("%d:%d:%d",&clock1.hour,&clock1.minute,&clock1.second);//输入时刻1
        scanf("%d:%d:%d",&clock2.hour,&clock2.minute,&clock2.second);//输入时刻2
        clock3=sub(&clock1, &clock2);//调用函数计算时差
        printf("%dseconds", clock3.hour*3600+ clock3.minute*60+ clock3.second);//打印时差
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 6月3日
  • 已采纳回答 5月30日
  • 创建了问题 5月30日

悬赏问题

  • ¥30 关于用python写支付宝扫码付异步通知收不到的问题
  • ¥50 vue组件中无法正确接收并处理axios请求
  • ¥15 隐藏系统界面pdf的打印、下载按钮
  • ¥15 MATLAB联合adams仿真卡死如何解决(代码模型无问题)
  • ¥15 基于pso参数优化的LightGBM分类模型
  • ¥15 安装Paddleocr时报错无法解决
  • ¥15 python中transformers可以正常下载,但是没有办法使用pipeline
  • ¥50 分布式追踪trace异常问题
  • ¥15 人在外地出差,速帮一点点
  • ¥15 如何使用canvas在图片上进行如下的标注,以下代码不起作用,如何修改