C++教程
C++控制语句
C++函数
C++数组
C++指针
C++对象
C++继承
C++多态
C++抽象
C++常用
C++ STL教程
C++迭代器
C++程序

C++ 使用递归反转句子的程序

使用递归反转句子的 C++ 程序

该程序从用户那里获取一个句子并使用递归反转该句子。该程序不使用字符串来反转句子或存储句子。
要理解此示例,您应该了解以下C++ 编程 主题:
C++ 函数 C++ 用户定义函数类型 C++ 递归 C++ if, if...else 和嵌套 if...else

示例: 使用递归反转句子。

#include <iostream>
using namespace std;
// function prototype
void reverse(const string& a);
int main() {
  string str;
  cout << " Please enter a string " << endl;
  getline(cin, str);
    
  // function call
  reverse(str);
  return 0;    
}
// function definition
void reverse(const string& str) {
  // store the size of the string
  size_t numOfChars = str.size();
  if(numOfChars == 1) {
    cout << str << endl;
  }
  else {
    cout << str[numOfChars-1];
    // function recursion
    reverse(str.substr(0, numOfChars-1));
  }
}
输出
Enter a sentence: margorp emosewa
awesome program
在这个程序中,用户被要求输入一个存储在字符串对象 str中的字符串。
然后,调用 reverse() 函数,这是一个递归函数。
在这个函数中,我们将输入字符串的大小存储在 numOfChars 变量中。
在第一个函数调用中, reverse() 打印带有代码的字符串的最后一个字符:
cout << str[numOfChars-1];
请记住,字符串实际上是字符数组,因此字符串的每个单独字符都可以表示为字符串数组 str[] 的索引。
在下一行,递归函数被调用:
reverse(str.substr(0, numOfChars-1));
这里, substr() 给出字符串直到最后一个字符,它再次传递给 reverse() 函数。
在下一个 reverse() 调用中,打印倒数第二个字符,因为字符串比最后一个字符少一个。在此之后,最后一个字符再次从字符串中截取并传递给 reverse() 函数。
直到字符串的长度等于 1,当最后一个字符(或第一个字符)被打印并且循环结束时。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4