写一个递归算法来实现字符串逆序存储,要求不另设串存储空间。
思路:
题目要求不另设串存储空间,即第一个输入的字符最后存储,最后输入的字符先存储,使用递归可容易做到 。
代码如下:
#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;
}
本文介绍了一种不使用额外存储空间的递归算法,用于实现字符串的逆序存储。通过使用静态变量和递归调用,算法能够将输入的字符串逆序输出,最后输入的字符最先存储,而第一个输入的字符最后存储。
2664





