版权声明:菜鸟一枚~~ 有想法可在下面评论, 转载标明出处即可。 https://blog.csdn.net/KLFTESPACE/article/details/82778130
问题描述
完成一个递归程序,倒置字符数组。并打印实现过程
递归逻辑为:
当字符长度等于1时,直接返回
否则,调换首尾两个字符,在递归地倒置字符数组的剩下部分
输入格式
字符数组长度及该数组
输出格式
在求解过程中,打印字符数组的变化情况。
最后空一行,在程序结尾处打印倒置后该数组的各个元素。
样例输入
<span style="color:#333333">Sample 1
5 abcde
Sample 2
1 a</span>
样例输出
Sample 1
ebcda
edcba
edcba
Sample 2
a
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
int n;
string s;
cin >> n >> s;
for(int i=0; i<n/2; i++)
{
char temp = s[i];
s[i] = s[n-i-1];
s[n-i-1] = temp;
cout << s << endl;
}
cout << endl << s << endl;
return 0;
}