一道基础C程序题目,但还是有问题,请教

来源:百度知道 编辑:UC知道 时间:2024/05/10 20:46:19
//古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

#include<iostream>
using namespace std;
int main()
{
long int a[20];
int i;
a[1]=1;a[2]=1;
for(i=3;i<=20;i++)
{
a[i]=a[i-1]+a[i-2];
cout<<"the "<<i<<" month: "<<2*a[i]<<endl;
}
return 0;
}
//---------------------------------------------------------------
问题1:每次执行这个程序后,给出结果的同时系统会给出一个发送错误报告的对话框,不知道为什么,我用的是vc++6.0;
问题2:结果里应该怎么把第一个月和第2个月的信息显示出来(只能另外写cout?)

for(i=3;i<=20;i++)
改成
for(i=3;i<20;i++) 就不会有错误报告

或者是long int a[21];
for(i=1;i<20;i++)
{
if(i>2)
a[i]=a[i-1]+a[i-2];
cout<<"the "<<i<<" month: "<<2*a[i]<<endl;
}

for循环头应该是

for(i=3;i<20;i++)