//============================================================================
// Name : stringExam04.cpp
// Author :
// Version :
// Copyright : Your copyright notice
// Description : Hello World in C++, Ansi-style
//============================================================================
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main()
{
string line1="We were her pride of 10 she named us:";
string line2="Benjamin, Phoenix, the Prodigal";
string line3="and perspicacious pacific Suzanne";
string sentence=line1 + ' ' + line2 + ' ' + line3;
string::size_type pos3=0;
int total=0;
vector<int> ivec;
for(int i=0;i<sentence.size();i++)
{
if(sentence[i]!=' ' && (sentence[i+1]==' ' || sentence[i+1]=='\0'))
{
ivec.push_back(i);
total+=1;
}
}
vector<string> svec;
int max=*ivec.begin()+1;
int min=max;
svec.push_back(sentence.substr(0,max));
for(vector<int>::iterator j(ivec.begin()+1);j!=ivec.end();j++)
{
svec.push_back(sentence.substr(*(j-1)+2,*j-*(j-1)-1));
if(max<(*j-*(j-1)-1))
{
max=*j-*(j-1)-1;
}
if(min>(*j-*(j-1)-1))
{
min=*j-*(j-1)-1;
}
}
cout << "the total of the words is :" << total << endl;
printf("the max length of the words are:\n");
for(vector<string>::iterator s(svec.begin());s!=svec.end();s++)
{
if((*s).size()==max)
{
cout << *s << endl;
}
}
printf("the min length of the words are:\n");
for(vector<string>::iterator s(svec.begin());s!=svec.end();s++)
{
if((*s).size()==min)
{
cout << *s << endl;
}
}
//cout << max << " " << min << endl;
return 0;
}
查找最长和最短单词
最新推荐文章于 2023-12-09 20:47:59 发布