字符串逆序
写一个递归算法来实现字符串逆序存储,要求不另设串存储空间。在turn函数中进行填写
#include <iostream>
#include<string.h>
using namespace std;
#define INITSTRLEN 100
typedef struct
{ char *ch;
int length;
int strsize;
}String;
void initString(String &s)
{ s.ch = new char; /*初始化串存储空间*/
s.length = 0; /*初始化串长*/
s.strsize = INITSTRLEN; /*初始化当前存储空间容量*/
}
void turn(String &s,int &i)//算法填写
{
}
void list(String s)
{
printf("%s", s.ch);
printf("\n");}
int main(){
String s;int i=0;
initString(s);
printf("please input the string s:\n");
scanf("%s", s.ch);
s.length=strlen(s.ch);
turn(s,i);
list(s);
delete(s.ch);
return 0;
}
{:5_109:}
#include <iostream>
#include<string.h>
using namespace std;
#define INITSTRLEN 100
typedef struct
{ char *ch;
int length;
int strsize;
}String;
void initString(String &s)
{ s.ch = new char; /*初始化串存储空间*/
s.length = 0; /*初始化串长*/
s.strsize = INITSTRLEN; /*初始化当前存储空间容量*/
}
void turn(String &s,int &i)//算法填写
{
char temp = s.ch;
s.ch = s.ch;
s.ch = temp;
//cout<<s.ch<<endl;
i++;
if(i<s.length/2)turn(s,i);
}
void list(String s)
{
printf("%s", s.ch);
printf("\n");}
int main(){
String s;int i=0;
initString(s);
printf("please input the string s:\n");
scanf("%s", s.ch);
s.length=strlen(s.ch);
turn(s,i);
list(s);
delete(s.ch);
return 0;
}
页:
[1]