写一个递归算法来实现字符串逆序存储,要求不另设串存储空间。
思路:
题目要求不另设串存储空间,即第一个输入的字符最后存储,最后输入的字符先存储,使用递归可容易做到 。
代码如下:
#include<iostream>
#include<cstring>
using namespace std;
void InvertStore(char a[])
{// 字符串逆序存储的递归算法
char ch;
static int i=0;//需要使用静态变量
cin>>ch;
if(ch!='.') //规定以'.'是字符串输入的结束标志
{
InvertStore(a);
a[i++]=ch;//字符串逆序存储
}
a[i]='\0';//字符串结尾标记
}
int main()
{
char a[100];
InvertStore(a);
puts(a);
cout<<endl;
return 0;
}