本关任务:设计一个递归算法来实现字符串的逆序存储,要求不另设串存储空间。
#include<iostream>
#include<cstring>
#define MAXSIZE 255
using namespace std;
void Inverse(char *A)
{//递归实现字符串的逆序存储
static int i = 0; //静态变量记录字符数组的下标
char ch;
cin >> ch;
if (ch != '.') //'.'是字符串输入结束的标志
{
/*********************Begin***********************/
Inverse(A);
A[i++]=ch;
/**********************End************************/
}
A[i] = '\0'; //字符串最后加上结尾标记
}
void Print(char A[])
{//输出逆序存储后的字符串
cout<<A[0];
for (int i = 1; i < strlen(A); i++)
{
cout <<"-->"<< A[i];
}
cout << endl;
}
int main()
{
char Arr[MAXSIZE];
Inverse(Arr);
Print(Arr);
return 0;
}