参考代码
// consoletest.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
// 编写程序求斐波那契数的第N项和前N项之和。斐波那契数列是形如
//
1,1,2,3,5,8,13,...
//
其通项为:F1=1;F2=1;
//
Fn=Fn-1+Fn-2。
#include <iostream.h>
void main()
{
cout<<"求斐波那契数的第N项和前N项之和"<<endl;
cout<<"其通项为:F1=1;F2=1;Fn=Fn_1+Fn_2"<<endl;
cout<<"请输入第n项的是几."<<endl;
cout<<"n=";
int n;
cin>>n;
cout<<"输入的数字是"<<n<<endl;
int f[100];
//由于int型的在32位操作系统中,2的32次方是:4294967296
//当i=47时,对应的数值大于4294967296。就不能计算了。
//当i=45时,对应的求和的数值同样是大于4294967296。
int sum=2;
for(int i=3;i<=n;i++)
{
f[1]=1;
f[2]=1;
f[i]=f[i-1]+f[i-2];
if(i==n)
{
cout<<"第N项是:"<<f[i]<<endl;
}
sum=sum+f[i];
if(i==n)
{
cout<<"前N项之和:"<<sum<<endl;
}
}
}