s050107 2023-12-08 17:29 采纳率: 0%
浏览 6

PTA时间换算有一个测试点过不了

PTA 时间换算 3号测试点过不了

本题要求编写程序,以hh:mm:ss的格式输出某给定时间再过n秒后的时间值(超过23:59:59就从0点开始计时)。

#include <stdio.h>
#include <string.h>
    typedef struct student  {
        int hour;
        int minute;
        int second;

    }STUDENT;
    
int main()
{
    STUDENT student1;
    int n;
    scanf("%d:%d:%d %d",&student1.hour,&student1.minute,&student1.second,&n);
    if(student1.second+n>=60){
        student1.minute++;
        student1.second=student1.second+n-60;
        
        if(student1.minute>=60){
            student1.hour++;
            student1.minute=student1.minute-60;
            
            if(student1.hour>=24){
                student1.hour=student1.hour-24;
            }
            printf("%02d:%02d:%02d",student1.hour,student1.minute,student1.second);
        }
        
    }else{
                printf("%02d:%02d:%02d",student1.hour,student1.minute,student1.second+n);
            }
    return 0;    
    }

输入格式:
输入在第一行中以hh:mm:ss的格式给出起始时间,第二行给出整秒数n(<60)。

输出格式:
输出在一行中给出hh:mm:ss格式的结果时间。

输入样例:
11:59:40
30
输出样例:
12:00:10

  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-12-08 20:17
    关注

    【以下回答由 GPT 生成】

    #include <stdio.h>
    #include <string.h>
    
    typedef struct student  {
        int hour;
        int minute;
        int second;
    
    } STUDENT;
    
    int main() {
        STUDENT student1;
        int n;
    
        scanf("%d:%d:%d\n%d", &student1.hour, &student1.minute, &student1.second, &n);
    
        student1.hour = (student1.hour + (student1.minute + (student1.second + n) / 60) / 60) % 24;
        student1.minute = (student1.minute + (student1.second + n) / 60) % 60;
        student1.second = (student1.second + n) % 60;
    
        printf("%02d:%02d:%02d", student1.hour, student1.minute, student1.second);
    
        return 0;
    }
    

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 12月8日

悬赏问题

  • ¥15 centos7.9升级python3.0的问题
  • ¥15 如何解决调试dev-出++5.11不成功问题
  • ¥15 安装CentOS6时卡住
  • ¥20 关于#监控系统#的问题,如何解决?(相关搜索:系统软件)
  • ¥20 c语言写的8051单片机存储器mt29的模块程序
  • ¥60 求直线方程 使平面上n个点在直线同侧并且距离总和最小
  • ¥50 java算法,给定试题的难度数量(简单,普通,困难),和试题类型数量(单选,多选,判断),以及题库中各种类型的题有多少道,求能否随机抽题。
  • ¥50 rk3588板端推理
  • ¥250 opencv怎么去掉 数字0中间的斜杠。
  • ¥15 这种情况的伯德图和奈奎斯特曲线怎么分析?