int main () {
float hour, dec, Dec_Only, min2, sec;
int res, r, min, whole, min3, sec2, sec3;
printf ("Enter hours: ");
scanf ("%f", &hour);
//Displaying initial minutes
min = hour * 60;
printf ("%d minutes\n", min);
if (hour == 0.0){
res = min / 60;
r = min % 60;
printf("%02d : %02d : 00", res, r);
}
else {
//Getting hours
whole = (int)hour;
dec = (hour - whole) * 100;
//Getting minutes
Dec_Only = hour - whole;
min2 = Dec_Only * 60;
min3 = (int)min2;
//Getting seconds
sec = min2 - min3;
sec2 = sec * 60;
sec3 = (int)sec2;
printf ("%02d : %02d : %02d", whole, min3, sec3 );
}
return 0;
}
你好,我是C语言的新手.我的工作是将小时转换成数字时钟(我需要使用条件语句). 我添加了一个条件语句,当user_input只包含1个或更多的十进制数时.我的代码工作,但是,当我输入特定的数字5.2时,问题就来了.
输入小时数(USER_INPUT):5.2 输出:05:11:59
我想要的输出:05:12:00
PS:当我输入任何其他数字时,它都起作用了.