如何增加我的" for循环"?

时间:2018-05-04 04:42:25

标签: c++ for-loop

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行中每行重复相同的结果。

2 个答案:

答案 0 :(得分:1)

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

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

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;

答案 1 :(得分:0)

在您的代码中,您在每次迭代开始时将Pop重新初始化为10180000。你应该将它移到循环之上,这样它的值就不会在每次迭代时重置。

Pop=10180000;            //Pop = Population //
for (int j = 1; j <= 120; j++) {
  Increase=Pop*0.0118;
  Pop=Increase+Pop;

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