e变量总是无法正常计算,Dbug的时候e的值就很大,不知道哪里错了。

img

img

e那行8640少了一个0,另外if语句块d,e计算里应该是c和d,而不是b, c

#include <stdio.h>
int main()
{
    long long int n, a, e, b, c, d;
    scanf("%lld", &n);
    a = n / 1000;
    if (n <= 86400)
    {
        c = a / 3600;
        d = (a - 3600 * c) / 60;
        e = a - 3600 * c - d * 60;
    }
    else
    {
        b = a / 86400;
        c = (a - 86400 * b) / 3600;
        d = (a - 86400 * b - c * 3600) / 60;
        e = a - 86400 * b - c * 3600 - d * 60;
    }
    printf("%02lld:%02lld:%02lld", c, d, e);
    return 0;
}