君苏依寂 发表于 2021-10-28 17:00:50

字符串逆序


写一个递归算法来实现字符串逆序存储,要求不另设串存储空间。在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;
}

jhq999 发表于 2021-10-28 17:00:51

{:5_109:}

君苏依寂 发表于 2021-10-28 17:53:15


#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]
查看完整版本: 字符串逆序