对于时间类的循环
For Loops for a Time Class
我正试图为时间类编写一个for循环。其中,如果输入的分钟数超过60,则从总分钟数中减去60,小时数增加1,直到最后剩下的分钟数小于60。我在做像这样的陈述
if (m > 59){
m = m - 60;
h++;
if (m > 59)... etc..
但这并不是涵盖所有的情况,我觉得我应该知道如何为循环做这件事,但我不明白。如有任何帮助,我们将不胜感激,感谢
如果不必使用循环来实现,您可以简单地执行
h = m / 60;
m = m % 60;
我想这是最快、最干净的方法。
不确定是否要在循环中执行其他操作。如果是这样的话,这对你没有多大帮助。
编辑:以下是它如何工作的一些解释。m / 60
的作用称为整数除法。它返回表达式的floor。例如,如果m = 131
比m / 60 = 2
。
第二个表达式使用模运算符。基本上,它在分裂后找到了提醒。回到我们的例子,m % 60 = 11
,因为m可以写成m = 60 * 2 + 11 = 131
。欲了解更多信息,请访问wiki。
@Jendas对整个问题有一个很好的简单答案,但如果你想保持这种格式,但用循环解决问题,你可以把整个事情放在while循环中,而不是单独的if语句:
while(m >59)
{
m = m - 60;
h++;
// do anything else you need to take care of
}
// finishing statements
h = 0;
while (m >= 60)
{
m = m - 60;
h++;
}
您可能希望使用>=60而不是59。此外,正如Jendas正确地建议的那样,您可能需要研究一下模运算符"%"
相关文章:
- while循环中while循环的时间复杂度是多少
- 我可以创建一个包含两个变量的 for 循环,但时间复杂度仍然为 O(n) 吗?
- 具有嵌套 if-else 的循环的时间复杂度
- 在做一段时间内检查字符的无限循环
- 整个循环花费的时间比其迭代总和要长
- 如何在 for 循环中的特定时间内获取要打印的额外值
- 为什么切换 for 循环的顺序会显著改变执行时间?
- 是否有可能实现O(N)时间和O(1)空间解决方案,以实现C++中的字符串循环移位
- 2 个嵌套循环的时间复杂度
- 对于等待以 std::future wait() 返回的函数的 CPU 使用率或检查标志在循环中休眠一段时间哪个更好?
- 如何在 c++ 下使用嵌套循环和正则表达式降低时间复杂度?
- 为什么 std::chrono 在测量循环和编译器优化的并行 OpenMP 的执行时间时不起作用?
- 如何在指定的时间内运行循环
- 为什么for循环中的异步不能提高执行时间
- 全局时间成本与本地时间成本之和 -- "for"循环
- 两个嵌套循环的运行时间复杂性:二次型还是线性
- 通过休眠控制循环时间
- 稳定的循环时间
- timeGetTime是衡量游戏循环时间的好方法吗
- c++ 11线程在迭代循环时间