我已经设置了“挑战”转换秒格式为天,分钟和秒。
例如:31600000 = 365天46分40秒。
using namespace std;
const int hours_in_day = 24;
const int mins_in_hour = 60;
const int secs_to_min = 60;
long input_seconds;
cin >> input_seconds;
long seconds = input_seconds % secs_to_min;
long minutes = input_seconds / secs_to_min % mins_in_hour;
long days = input_seconds / secs_to_min / mins_in_hour / hours_in_day;
cout << input_seconds << " seconds = "
<< days << " days, "
<< minutes << " minutes, "
<< seconds << " seconds ";
return 0;
它工作,并提出了正确的答案,但完成后,我看了看其他人如何处理它和他们的是不同的,我想知道我错过了什么。
4条答案
按热度按时间6ojccjat1#
在我看来,这是将秒转换为DD/hh/mm/ss的最简单方法:
vql8enpb2#
编程的一个特点是做一件事从来不会只有一种方法。事实上,如果我下定决心,我可能会想出十几种完全不同的方法来完成这件事。如果你的代码符合要求,你就不会错过任何东西。
这里有一种在Windows下格式化小时:分钟:秒的方法(
elapsed
是一个双精度数,表示从......开始经过的秒数)pnwntuvh3#
我认为这是斯蒂芬·普拉塔书中的挑战。我是这样做的:
neekobn84#
例如:31600000 = 365天46分40秒。
是吗?
您的意思是“将输入转换为天、小时、分钟和秒,然后丢弃小时”还是“将输入转换为天、一天内的总分钟数(即可以超过60)和秒”?
在第二种情况下,我认为您应该将分钟的指令替换为