这是一个关于单位换算的问题

/*【问题描述】输入一个时间数值,再输入一个秒数n(n<60),以时:分:秒的格式输出该时间再过n秒后的时间值(超过24点重新开始计时)

【输入形式】先输入当前时间,格式是时(整型):分(整型):秒(整型),再输入间隔的秒数n(整型,n<60)

【输入输出样例】(下划线部分表示输入)

Input time:11:59:40

Input duration:30

New time:12:0:10
#include <stdio.h>int main() { int a, b, c, d, g, h, i, j, k; char e, f; printf("Input time:"); scanf("%d%c%d%c%d", &a, &e, &b, &f, &c); printf("Input duration:"); scanf("%d", &k); g = c + k; if (g >= 60) { h = g - 60; b += 1; if (b < 60 && a < 60) { printf("New time:%d%c%d%c%d", a, e, b, f, h); } else { i = b - 60; a += 1; } if (a < 24) { printf("New time:%d%c%d%c%d", a, e, i, f, h); } else { j = a - 24; } printf("New time:%d%c%d%c%d", j, e, i, f, h); } else printf("New time:%d%c%d%c%d", a, e, b, f, g); return 0;}

img

img


这是我的错误,需要办忙改正

你题目的解答代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)

#include <stdio.h>
int main() {
    int a, b, c, d, k;
    char e, f;
    printf("Input time:");
    scanf("%d%c%d%c%d", &a, &e, &b, &f, &c);
    printf("Input duration:");
    scanf("%d", &k);
    d = a * 60*60 + b * 60 + c + k;
    d = d % (24*60*60);
    c = d % 60;
    b = d / 60 % 60;
    a = d / 60 / 60;
    printf("New time:%d%c%d%c%d", a, e, b, f, c);
}