C++程序习题-将字符串按逆序输出[1.15]

本文介绍了一个简单的C++程序,该程序通过使用标准库中的string类实现字符串的逆序输出功能。用户输入任意字符串后,程序将从最后一个字符开始遍历并输出,直至字符串的第一个字符。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  输入一个字符串,把其中的字符按逆序输出,如输入LIGHT,输出为THGIL,要求用string方法.
 

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

void reverse_print(string);
int main()
{
    string str;
    cin >> str;
    reverse_print(str);
    system("pause");
    return 0;
}

void reverse_print(string str)
{
    int i = str.length();
    while(> 0)
    {
         cout << str[--i]; 
    }
    cout << endl;
}





FROM: http://blog.chinaunix.net/uid-20680669-id-147862.html

### C++ 实现字符串逆序输出 #### 方法一:使用循环结构 一种简单的方法是采用双指针技术来交换字符位置,从而达到反转的效果。下面是一个完整的例子: ```cpp #include <iostream> using namespace std; void reverseString(char* str) { char* end = str; // 找到字符串末尾 while (*end) ++end; --end; // 移动到最后一个有效字符的位置 char tmp; while (str < end) { tmp = *str; *str++ = *end; *end-- = tmp; } } int main() { char arr[100]; cout << "请输入一个字符串:" << endl; cin >> arr; reverseString(arr); cout << "反转后的字符串为:" << arr << endl; return 0; } ``` 此段代码实现了基本功能并能在控制台环境中正常工作[^3]。 #### 方法二:递归方式实现 另一种思路是借助递归来完成这一操作,在每次递归调用前先处理后续部分直到遇到终止条件再逐层返回处理当前层次的数据。这里给出具体的实现方案: ```cpp #include <iostream> using namespace std; void inverse(char A[], int& index) { char ch; cin.get(ch); // 使用cin.get读取单个字符包括空白符 if (ch != '\n') { // 当不是换行符时继续深入递归 inverse(A, index); A[index++] = ch; } else { A[index] = '\0'; } } int main() { char array[100]; int idx = 0; cout << "请输入一个字符串(按回车键结束输入):" << endl; inverse(array, idx); cout << "反转后的字符串为:"; for(int i=strlen(array)-1;i>=0;--i){ cout<<array[i]; } return 0; } ``` 上述代码展示了如何通过递归的方式收集用户输入并将结果存入数组中,之后从最后一个有效字符向前遍历打印出来以形成反向效果[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值