#include "head.h"
/*
* function:
* @param [ in]
* @param [out]
* @return
*/
char *creat()
{
char *p=(char *)malloc(sizeof(char)*20);
if(p==NULL)
return NULL;
return p;
}
void input(char *p)
{
gets(p);
}
size_t my_strlen(char *p)
{
int i=0;
for(i=0;p[i]!='\0';i++);
return i;
}
char *my_strcat(const char *s1,const char *s2)
{
strcpy(s1+strlen(s1),s2);
return s1;
}
void bubble(char *p)
{
for(int i=1;i<my_strlen(p);i++)
{
for(int j=0;j<my_strlen(p)-i;j++)
{
if(p[j]>p[j+1])
{
int tmp=p[j];p[j]=p[j+1];p[j+1]=tmp;
}
}
}
}
void reverse(char *p)
{
int len=my_strlen(p);
for(int i=0;i<len/2;i++)
{
int tmp=p[i];
p[i]=p[len-i-1];
p[len-i-1]=tmp;
}
}
char *myfree(char *p)
{
free(p);
return NULL;
}
#include "head.h"
#include "head.h"
#include "head.h"
int main(int argc, const char *argv[])
{
char *p=creat();
char *q=creat();
printf("请输入第一个字符串:");
input(p);
printf("请输入第二个字符串:");
input(q);
printf("两个字符串长度为:%d,%d\n",my_strlen(p),my_strlen(q));
char *p1=my_strcat(p,q);
printf("两个字符串拼接后:%s\n",p1);
bubble (p1);
printf("冒泡排序后字符串为:%s\n",p1);
reverse(p1);
printf("字符串逆置后为:%s\n",p1);
myfree(p);
myfree(q);
return 0;
}
#ifndef N
#define N
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
char *creat();
void input(char *p);
char *my_strcat(const char *s1,const char *s2);
void bubble(char *p);
void reserve(char *p);
char *myfree(char *p);
#endif