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