作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试为时间类编写 for 循环。如果输入的分钟数超过 60,则从总分钟数中减去 60,小时数增加 1,直到最后剩下的分钟数小于 60。我在做 if 语句,比如
if (m > 59){
m = m - 60;
h++;
if (m > 59)... etc..
但这并没有涵盖所有情况,我觉得我应该知道如何为循环执行此操作,但我无法弄清楚。任何帮助将不胜感激,谢谢
最佳答案
好吧,如果它不必使用循环来实现,你可以简单地做
h = m / 60;
m = m % 60;
我想这是最快和最干净的方法。
不确定是否要在循环内执行任何其他操作。如果是这样,这对您没有太大帮助。
编辑:这是它如何工作的一些解释。m/60
的作用称为整数除法。它返回表达式的底部。例如,如果 m = 131
而不是 m/60 = 2
。
第二个表达式使用模运算符。基本上它会在划分后找到提醒。回到我们的示例,m % 60 = 11
因为 m 可以写成 m = 60 * 2 + 11 = 131
。欲了解更多信息,请参阅 wiki .
关于c++ - 时间类的 For 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28551070/
我是一名优秀的程序员,十分优秀!