将秒转换为天、分钟和秒
我已经设置了将秒转换为天、分钟和秒格式的“挑战”。
例如: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;
它有效并给出了正确的答案,但完成后我查看了其他人是如何解决这个问题的,他们的答案有所不同。我想知道我是否错过了什么。
I've been set the 'challenge' of converting seconds to format as the Days,Minutes and Seconds.
For example: 31600000 = 365 days, 46 minutes, 40 seconds.
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;
It works and comes up with the correct answer but after completing it I looked at how other people had tackled it and theirs was different. I'm wondering If I'm missing something.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
在我看来,这是将秒转换为 DD/hh/mm/ss 的最简单方法:
this seems to me to be the easiest way to convert seconds into DD/hh/mm/ss:
我认为这是斯蒂芬·普拉塔(Stephen Prata)书中的挑战。我是这样做的:
I think is the challenge from Stephen Prata's book. I did it as follows:
关于编程的事情之一是,做某事从来没有只有一种方法。事实上,如果我下定决心,我也许能够想出十几种完全不同的方法来实现这一目标。如果您的代码满足要求,您就不会遗漏任何内容。
为了您的娱乐,这里有一种在 Windows 下格式化小时:分钟:秒的方法(
elapsed
是一个双精度值,表示自...某事以来经过的秒数)One of the things about programming is that there is never just one way to do something. In fact if I were to set my mind to it, I might be able to come up with a dozen completely different ways to accomplish this. You're not missing anything if your code meets requirements.
For your amusement, here's a way to format up hours:minutes:seconds under Windows (
elapsed
is a double & represents number of seconds elapsed since... something)真的吗?
您的意思是“将输入转换为天、小时、分钟和秒,然后丢弃小时”还是“将输入转换为天、一天内的总分钟(即可以超过 60)和秒”?
在第二种情况下,我认为你应该将几分钟的指令替换为
Really?
Did you mean "convert the input into days, hours, minutes and seconds, and then discard the hours" or "convert the input into days, total minutes within a day (i.e. can be more than 60), and seconds"?
In the second case I think you should replace the instruction for minutes with
将秒转换为天、小时、分钟和秒;它运行完美,无需消耗太多资源:
Convert seconds to days, hours, minutes, and seconds; it works perfectly without consuming many resources: