您的位置:首页 > 职场人生

凯思面试经历转置一个string

2014-09-29 19:55 190 查看

1、转置一个string

</pre><pre name="code" class="cpp">

#include <iostream>
#include <string>
using namespace std;

//只限英文字符
void ReverseString(string& str)
{
int nLen = str.size();

for (int i = 0; i < nLen/2; i++)
{
char cTmp = str[nLen-i-1];
str[nLen-i-1] = str[i];
str[i] = cTmp;
}
}
//中英字符
void ReverseString1(string& str)
{
int nLen = str.size();

string strTmp;
strTmp.resize(nLen,' ');

for (int i =0; i < nLen; i++)
{
if ( str[i] < 255 && str[i] > 0)
{
strTmp[nLen-i-1] = str[i];
}
else
{
strTmp[nLen-i-2] = str[i];
strTmp[nLen-i-1] = str[i+1];
++i;
}
}
str = strTmp;
}

int main(int argc, char* argv[])
{
int nflag = 1;

while (nflag)
{
cout<<"enter a string including both lowercase and upercase letters!"<<endl;
string str;
cin.clear();
cin.sync();
getline(cin,str);
ReverseString1(str);
cout<<str<<endl;
cout<<"enter 0 to exit or 1 to continue"<<endl;
cin>>nflag;
}

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息