首页 > 解决方案 > 如何增加我的“for循环”呈现的结果?

问题描述

for (int j=1; j<=120; j++){

Pop=10180000;            //Pop = Population //
Increase=Pop*0.0118;
Pop=Increase+Pop;


cout<< Increase <<endl;
cout<< Pop <<endl;

}

我真的是新来的,如果我犯了错误,请见谅。我想找出 120 个月的人口数量(1018 万),每月增长 1.18%。

我设法找到了第一个月,但我的 for 循环在接下来的 120 行中每行重复相同的结果。

标签: c++for-loop

解决方案


您的问题是您在循环的每次迭代中都设置了总体的初始值。您应该在循环开始之前执行一次。

您还可以简化计算,因为只需乘以 1.18% 即可实现1.0118。这给了你类似的东西:

int Pop = 10180000;
for (int i = 1; i <= 120; i++)
    Pop = Pop * 1.0118;
cout << Pop << endl;

当然,如果您正在编写真正的代码,您可能需要分解功能以便可以轻松地重用它:

int increaseValue(
    int          value,
    double       ratePerPeriod,
    unsigned int periodCount
) {
    for (unsigned int i = 0; i < periodCount; i++)
        value *= (ratePerPeriod / 100.0 + 1.0);
    return value;
}

:

cout << increaseValue(10180000, 1.18, 120) << endl;

推荐阅读