循环 - 从几个月开始的年数

Nix*_*orf -6 c# int loops

我有一个int月(例如84),我需要计算多少年等于84 = 7年

我需要遍历初始数字,看看那里有多少年并打印结果

例:

int count = 84;
for (int i = 12; i <= count; i++)
{
years = i;
}
Run Code Online (Sandbox Code Playgroud)

这当然不起作用,它产生'84年',我应该生产7年.我还需要在年度计算之后得到剩余的月份,所以如果初始数字是85,例如它将导致7年1个月.

Mar*_*zek 7

使用标准数学运算而不是循环:

int count = 84;
int years = count / 12;
int months = count % 12;
Run Code Online (Sandbox Code Playgroud)

第一个是划分,第二个是模数.

因为两个count12都是整数也count/12返回一个整数.因此,85它将返回7,而不是7.1.

更新

循环版本可能看起来像这样:

count = 84;
years = 0;
for (int i = 12; i <= count; i += 12)
{
    years++;
}
Run Code Online (Sandbox Code Playgroud)


Guf*_*ffa 5

使用循环执行此操作将如下所示:

int years = 0;
while (count >= 12) {
  count -= 12;
  years++;
}
Run Code Online (Sandbox Code Playgroud)

但是,您可以在不循环的情况下执行相同的操作:

int years = count / 12;
count %= 12;
Run Code Online (Sandbox Code Playgroud)