主题:找不出为什么不能得出正确的输出,望哪位大虾指导一下.
#include <iostream>
using namespace std;
int main(){
int year,i,j=1;
float rate;
int currentyr[100],nextyr[100];
cout<<"请输入繁殖率: ";
cin>>rate;
cout<<"请输入当前数目: ";
cin>>currentyr[0];
cout<<"请输入统计年数: ";
cin>>year;
for (i=0;i<year;i++)
{
nextyr[j]=(1-(currentyr[i]/1000000))*rate*currentyr[i];
currentyr[i+1]=nextyr[j];
j++;
}
for (i=0;i<year;i++)
{
cout<<"第"<<i+1<<"年朱喙蜡翅鸟的数目为: "<<currentyr[i]<<endl;
}
return 0;
}
题目提供的公式是: CurrentYr
NextYr=Rate*CurrentYr(1- -----------)
1000000
变量Rate代表繁殖率,取值在1--4之间,变量CurrentYr为目前的总数,变量NextYr是下一年的预计总数. 下年度的NextYr作为第三年度的CurrentYr.
测试数据如下:
若rate取值: 2.6
当前数目为: 100000
统计年数为:25
按照正常计算,第二年的数目应该为:234000
可是程序执行后第二年会显示为:259999, 不明白为什么,希望哪位同学帮我看看.
using namespace std;
int main(){
int year,i,j=1;
float rate;
int currentyr[100],nextyr[100];
cout<<"请输入繁殖率: ";
cin>>rate;
cout<<"请输入当前数目: ";
cin>>currentyr[0];
cout<<"请输入统计年数: ";
cin>>year;
for (i=0;i<year;i++)
{
nextyr[j]=(1-(currentyr[i]/1000000))*rate*currentyr[i];
currentyr[i+1]=nextyr[j];
j++;
}
for (i=0;i<year;i++)
{
cout<<"第"<<i+1<<"年朱喙蜡翅鸟的数目为: "<<currentyr[i]<<endl;
}
return 0;
}
题目提供的公式是: CurrentYr
NextYr=Rate*CurrentYr(1- -----------)
1000000
变量Rate代表繁殖率,取值在1--4之间,变量CurrentYr为目前的总数,变量NextYr是下一年的预计总数. 下年度的NextYr作为第三年度的CurrentYr.
测试数据如下:
若rate取值: 2.6
当前数目为: 100000
统计年数为:25
按照正常计算,第二年的数目应该为:234000
可是程序执行后第二年会显示为:259999, 不明白为什么,希望哪位同学帮我看看.