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;
}