通过不同的方法,实现对所输入字符串的反转,可以很好地复习巩固 C++ 基础知识。
1.方法一:使用 std::string 类型
/* 将输入的字符串反转。
* 方法一:使用 string。
* By Ceeji
*/
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s, r; // 声明字符串
cin >> s; // 输入字符串
for (int i = 0; i < s.length (); i++)
{
r = s [i] + r;
}
cout << r; // 输出字符串
return 0;
} |
2.方法二:使用 C风格字符串 char *
/* 将输入的字符串反转。
* 方法二:使用 char *。
* By Ceeji
*/
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
// 输入字符串。
char s [300];
scanf("%s",s);
for (int i = 0; i < strlen(s); i++)
{
cout << *(s + strlen(s) - i - 1);
}
cout << endl;
return 0;
} |
3.方法三:使用 std::string 的另一种方法
/* 将输入的字符串反转。
* 方法三:使用 string 的另一个方法。
* By Ceeji
*/
#include <iostream>
#include <string>
using namespace std;
int main()
{
// 输入字符串。
string s;
cin >> s;
for (int i = 0; i < s.length(); i++)
{
cout << s[s.length() - i - 1];
}
cout << endl;
return 0;
} |
大牛您好,下面可能是实现同样目的的另一种方法
int main()
{
string r, s;
cin >> s;
r.assign(s.rbegin(), s.rend());
cout << r << endl;
return true;
}
@c0:是的,不过写这篇文章时还没介绍反向迭代器。