Description
完成一个递归程序,倒置字符数组。并打印实现过程
递归逻辑为:
当字符长度等于1时,直接返回
否则,调换首尾两个字符,在递归地倒置字符数组的剩下部分
Input
输入描述:
字符数组长度及该数组
输入样例:
5 abcde
Output
输出描述:
在求解过程中,打印字符数组的变化情况。
最后空一行,在程序结尾处打印倒置后该数组的各个元素。
输出样例:
ebcda
edcba
edcba
源码
#include <iostream>
#include <stdio.h>
#include <fstream>
#include <math.h>
using namespace std;
char arr[10005];
int n;
void change(int head,int tail)
{
if(tail-head>0)
{
char temp=arr[head];
arr[head]=arr[tail];
arr[tail]=temp;
printf("%s\n",arr);
change(head+1,tail-1);
}
else return;
}
int main()
{
scanf("%d%s",&n,arr);
change(0,n-1);
printf("\n%s\n",arr);
return 0;
}
本文介绍了一个使用递归方法倒置字符数组的C++程序。通过交换首尾字符并递归处理剩余部分,实现了字符数组的倒置,并在过程中打印了数组的变化情况。
596

被折叠的 条评论
为什么被折叠?



