Yoga.943 2021-08-25 17:53 采纳率: 94.1%
浏览 35
已结题

时间差出错 不知道怎么了

img

  • 写回答

1条回答 默认 最新

  • StjpStjp 2021-08-25 17:54
    关注
    温馨提醒:如果我的回答对你有帮助,请点击旁边的采纳按钮,谢谢

    你这个应该是算两个时间的时间差;
    但是你的算法有误;
    看看我的吧:

    #include <stdio.h>
     
    struct TIME
    {
      int seconds;
      int minutes;
      int hours;
    };
    void differenceBetweenTimePeriod(struct TIME t1, struct TIME t2, struct TIME *diff);
     
    int main()
    {
        struct TIME startTime, stopTime, diff;
     
        printf("输入开始时间: \n");
        printf("输入小时、分钟、秒:");
        scanf("%d %d %d", &startTime.hours, &startTime.minutes, &startTime.seconds);
     
        printf("输入停止时间: \n");
        printf("输入小时、分钟、秒: ");
        scanf("%d %d %d", &stopTime.hours, &stopTime.minutes, &stopTime.seconds);
     
        // 计算差值
        differenceBetweenTimePeriod(startTime, stopTime, &diff);
     
        printf("\n差值: %d:%d:%d - ", startTime.hours, startTime.minutes, startTime.seconds);
        printf("%d:%d:%d ", stopTime.hours, stopTime.minutes, stopTime.seconds);
        printf("= %d:%d:%d\n", diff.hours, diff.minutes, diff.seconds);
     
        return 0;
    }
     
    void differenceBetweenTimePeriod(struct TIME start, struct TIME stop, struct TIME *diff)
    {
        if(stop.seconds > start.seconds){
            --start.minutes;
            start.seconds += 60;
        }
     
        diff->seconds = start.seconds - stop.seconds;
        if(stop.minutes > start.minutes){
            --start.hours;
            start.minutes += 60;
        }
     
        diff->minutes = start.minutes - stop.minutes;
        diff->hours = start.hours - stop.hours;
    }
    //输出结果为:
    //输入开始时间: 
    //输入小时、分钟、秒:12 34 55
    //输入停止时间: 
    //输入小时、分钟、秒: 8 12 5
    
    //差值: 12:34:55 - 8:12:5 = 4:22:50
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月2日
  • 已采纳回答 8月25日
  • 创建了问题 8月25日

悬赏问题

  • ¥15 防火墙的混合模式配置
  • ¥15 Ubuntu不小心注销了要怎么恢复啊
  • ¥15 win10电脑安装完plcsim advanced4.0运行时为什么会提示找不到虚拟网卡
  • ¥15 安装powerbuilder10卡在安装程序正在运行这个页面 没有下一步任何指令
  • ¥15 关于mpi的问题:请问遇到这种情况需要怎么解决,出现这个问题后电脑不能进行mpi多核运行只能进行单核运行
  • ¥50 微信聊天记录备份到电脑提示成功了,但还是没同步到电脑微信
  • ¥15 python怎么在已有视频文件后添加新帧
  • ¥20 虚幻UE引擎如何让多个同一个蓝图的NPC执行一样的动画,
  • ¥15 fluent里模拟降膜反应的UDF编写
  • ¥15 MYSQL 多表拼接link