8.2
#include <iostream>
#include <string>
#include <vector>
using namespace std;
void print(string& s,vector<int>& v)
{
cout<<s<<": ";
int i;
for(i=0;i<v.size();i++)
{
cout<<v[i]<<" ";
}
cout<<endl;
}
int main()
{
string s="hello";
vector<int> v;
int i;
for(i=0;i<5;i++)
{
v.push_back(i);
}
print(s,v);
system("pause");
}
8.3
#include <iostream>
#include <string>
#include <vector>
using namespace std;
void print(string& s,vector<int>& v)
{
cout<<s<<": ";
int i;
for(i=0;i<v.size();i++)
{
cout<<v[i]<<" ";
}
cout<<endl;
}
void fibonacci(int x,int y,vector<int>& v,int n)
{
v.push_back(x);
v.push_back(y);
int z,i;
for(i=0;i<n;i++)
{
z=x+y;
v.push_back(z);
x=y;
y=z;
}
}
int main()
{
int x,y,n;
vector<int> v;
string s="斐波那契数列为";
cout<<"请输入斐波那契数列的前两个数:"<<endl;
cin>>x>>y;
cout<<"请输入想要产生的斐波那契数列长度:"<<endl;
cin>>n;
fibonacci(x,y,v,n);
print(s,v);
system("pause");
}
8.7
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
vector<string> name,cope;
vector<double> age;
string s;
double d;
int i,k;
cout<<"请输入名字:"<<endl;
while(cin>>s)
{
name.push_back(s);
cope.push_back(s);
}
cin.clear(); //清空缓存
cout<<"请输入相应名字的年龄:"<<endl;
for(i=0;i<name.size();i++)
{
cout<<name[i]<<" :";
cin>>d;
age.push_back(d);
}
sort(name.begin (),name.end ());
cout<<"排序后为:"<<endl;
for(i=0;i<name.size ();i++)
{
cout<<name[i]<<" ";
for(k=0;k<name.size ();k++)
{
if(cope[k]==name[i]) cout<<age[k]<<endl;
}
}
system("pause");
}
9.2
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
class Name_pairs
{
public:
void read_names();
void read_age();
void print();
void sorts();
private:
vector<string> name,cope;
vector<double> age,new_age;
};
void Name_pairs::read_names()
{
string s;
cout<<"请输入名字:"<<endl;
while(cin>>s)
{
name.push_back(s);
cope.push_back(s);
}
cin.clear();
}
void Name_pairs::read_age()
{
int i;
double d;
cout<<"请输入对应名字的的年龄:"<<endl;
for(i=0;i<name.size();i++)
{
cout<<name[i]<<" :";
cin>>d;
age.push_back(d);
new_age.push_back(d);
}
cin.clear();
}
void Name_pairs::print()
{
int i;
for(i=0;i<name.size();i++)
{
cout<<name[i]<<" "<<new_age[i]<<endl;
}
}
void Name_pairs::sorts()
{
int i,k;
sort(name.begin(),name.end());
for(i=0;i<name.size();i++)
{
for(k=0;k<cope.size();k++)
{
if(cope[k]==name[i])
{
new_age[i]=age[k];
}
}
}
}
int main()
{
Name_pairs NP;
NP.read_names();
NP.read_age();
cout<<"排序前:"<<endl;
NP.print();
cout<<"排序后:"<<endl;
NP.sorts();
NP.print();
system("pause");
}