题目描述
写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串。
输入描述:
输入N个字符
输出描述:
输出该字符串反转后的字符串
输入例子:
abcd
输出例子:
dcba
解题思路
要反转一个字符串,只需要将首尾的字符依次交换即可。即:将第一个字符和最后一个字符交换,然后交换第二个字符和倒数第二个字符,……,直到前面一半字符全部和后面一半字符进行交换。如果字符串中有奇数个字符,中间的那个不需要交换。
代码
#include <iostream>
#include <string>
using namespace std;
void swap(char &ch1, char &ch2);
int main()
{
string str;
cin >> str;
for (int i = 0, j = str.size() - 1; i < str.size() / 2; ++i, --j)
{
swap(str[i], str[j]); //交换首尾元素
}
cout << str << endl;
return 0;
}
void swap(char &ch1, char &ch2)
{
char tmp = ch1;
ch1 = ch2;
ch2 = tmp;
}