第一种方法,借助数组。
#include <fstream>
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
int n;
cin>>n;
int a[100]; //使用数组方法
a[0]=0;
a[1]=1;
for(int i=2; i<=n; i++)
{
a[i]=a[i-1]+a[i-2]; //主要的计算
}
for(int j=0; j<n; j++) //查询输出,每一项
{
cout<<a[j]<<endl;
}
return 0;
}
第二种方法,借助向量。
#include <fstream>
#include <iostream>
#include <vector> //引用容器
using namespace std;
int main(int argc, char* argv[])
{
int n;
cin>>n;
vector<int> v; //使用向量方法
v.push_back(0);
v.push_back(1); //后插方式,相当于数组的下标赋值。
for(int i=2; i<=n; i++)
{
v.push_back(v[i-1]+v[i-2]); //主要的计算
}
for(int j=0; j<n; j++) //查询输出,每一项
{
cout<<v[j]<<endl;
}
return 0;
}
使用向量容器,下标赋值:
#include <fstream>
#include <iostream>
#include <vector>
using namespace std;
int main(int argc, char* argv[])
{
int n;
cin>>n;
vector<int> v(n); //使用向量方法,向量大小为n
v[0]=0;
v[1]=1; //下标方式赋值
for(int i=2; i<=n; i++)
{
v[i]=(v[i-1]+v[i-2]); //主要的计算
}
for(int j=0; j<n; j++) //查询输出,每一项
{
cout<<v[j]<<endl;
}
return 0;
}
定义的向量的大小是输入的n,使用迭代器进行遍历查询。
#include <fstream>
#include <iostream>
#include <vector>
using namespace std;
int main(int argc, char* argv[])
{
int n;
cin>>n;
vector<int> v(n); //使用向量方法,大小是输入的n
v[0]=0;
v[1]=1; //下标方式赋值
for(int i=2; i<=n; i++)
{
v[i]=(v[i-1]+v[i-2]); //主要的计算
}
vector<int>::iterator it; //定义迭代器
for(it=v.begin(); it!=v.end(); it++)
{
cout<<*it<<endl;
}
return 0;
}
定义的向量的大小是固定值100,使用迭代器进行遍历查询。
#include <fstream>
#include <iostream>
#include <vector>
using namespace std;
int main(int argc, char* argv[])
{
int n;
cin>>n;
vector<int> v(100); //使用向量方法,预先定义
v[0]=0;
v[1]=1; //下标方式赋值
for(int i=2; i<=n; i++)
{
v[i]=(v[i-1]+v[i-2]); //主要的计算
}
vector<int>::iterator it; //定义迭代器
for(it=v.begin(); it<=v.begin()+n-1; it++) //遍历时候的上限要改变形式
{
cout<<*it<<endl;
}
return 0;
}
ps:本帖仅新手可见,其余人员自行回避。