Если ограничиваться только целочисленным числом суток, будет всегда получаться полные часы, а минуты и секунды будут нулевыми.
// PascalABC.NET 3.1, сборка 1172 от 19.02.2016
begin
var d:=ReadReal('Количество суток')*24;
var h:=Trunc(d);
d:=Frac(d)*60;
var m:=Trunc(d);
d:=Frac(d)*60;
var s:=Round(d);
// преодоление ошибок неточного представления чисел в ЭВМ
if s=60 then begin Inc(m); s:=0 end;
if m=60 then begin Inc(h); m:=0 end;
WritelnFormat('{0}ч {1}м {2}с ',h,m,s)
end.
Тестовые решения:
Количество суток 0.35
8ч 24м 0с
Количество суток 4
96ч 0м 0с
Количество суток 2.532
60ч 46м 5с