当前位置:   article > 正文

C++训练:递归倒置字符数组_c++ 递归法转置数组

c++ 递归法转置数组

题目描述

完成一个递归程序,倒置字符数组。并打印实现过程
递归逻辑为:
当字符长度等于1时,直接返回
否则,调换首尾两个字符,在递归地倒置字符数组的剩下部分

输入格式

字符数组长度及该数组 

输出格式

在求解过程中,打印字符数组的变化情况。 
最后空一行,在程序结尾处打印倒置后该数组的各个元素。 

样例输入

复制

5 abcde

样例输出

复制

ebcda
edcba

edcba
  1. #include<iostream>
  2. #include<cstring>
  3. using namespace std;
  4. string x;
  5. int n;
  6. void jh(int a, int b)
  7. {
  8. if (a >= b)
  9. return;
  10. else
  11. {
  12. swap(x[a], x[b]); //交换函数
  13. cout << x << endl;
  14. jh(a + 1, b - 1); //返回递归
  15. }
  16. }
  17. int main()
  18. {
  19. cin >> n >> x;
  20. jh(0, x.size() - 1); //后两位是输入的下标
  21. cout << endl << x;
  22. return 0;
  23. }

swap   交换函数

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/973777
推荐阅读
相关标签
  

闽ICP备14008679号