题目要求
输入一个字符串,把其中的字符按逆序输出。如输入LIGHT,输出THGIL。要求使用 string 方法。
——谭浩强的《C++面向对象程序设计》第1章习题第11小题
方法
首先利用输入流,实现字符串的输入,利用 string 类的 size() 方法得到字符串长度 n,然后通过循环遍历字符串元素,将第 i 个元素和第 n-i-1 个元素的值对调。注意字符串中最后一个元素序号为 n-i-1,循环的次数为 n/2 。
程序
/*
************************************************************************
@author: Xiaoxiao
@date: 20201023
@brief: 输入一个字符串,把其中的字符按逆序输出。
@blog: https://blog.csdn.net/weixin_43470383/article/details/109233544
************************************************************************
*/
#include <iostream>
#include <string>
using namespace std;
int main(int argc, char *argv[])
{
string str; // 定义字符串
char temp; // 定义临时字符变量
cin >> str; // 输入字符串
int n = str.size(); // 用size()方法确定字符串大小
for(int i=0; i < n/2; i++)
{
temp = str[i]; // 将第i个元素存入临时字符变量
str[i] = str[n-i-1]; // 将第i个字符元素和第n-i-1个元素对调
str[n-i-1] = temp; // 将临时字符变量的值赋给第n-i-1个元素
}
cout << str << endl;
return 0;
}
运行结果
输入: ILoveCoding
输出: gnidoCevoLI