自学内容网 自学内容网

2024.7.12作业

1.自定义函数(my_strlen)实现strlen函数的功能

#include <stdio.h>

int my_strlen(char *p)
{
int n=0;
for(int i=0;*(p+i)!='\0';i++)
{
n++;
}
return n;
}

int main(int argc,const char *argv[])
{
    char arr[100]={0};
printf("请输入字符串:");
gets(arr);
int len=my_strlen(arr);
printf("arr数组实际长度为%d\n",len);
    return 0;
}

2.自定义函数(my_strcpy)实现strcpy函数的功能

#include <stdio.h>

void my_strcpy(char *p,const char *q)
{
for(int i=0;*(q+i)!='\0';i++)
{
*(p+i)=*(q+i);
}
}

int main(int argc,const char *argv[])
{
    char arr[100]={0},brr[100]={0};
printf("请输入字符串arr:");
gets(arr);
printf("请输入字符串brr:");
gets(brr);
my_strcpy(arr,brr);
printf("字符串arr为%s\n",arr);
printf("字符串brr为%s\n",brr);
    return 0;
}

3.自定义函数(my_strcmp)实现strcmp函数的功能

#include <stdio.h>
#include <string.h>

int my_strcmp(const char *p,const char *q)
{
int len1=strlen(p);
int len2=strlen(q);
int len=len1;
if(len2>len1)
{
len=len2;
}
for(int i=0;i<len;i++)
{
if(*(p+i)>*(q+i))
{
return 1;
}
else if (*(p+i)<*(q+i))
{
return -1;
}
}
return 0;
}

int main(int argc,const char *argv[])
{
    char arr[100]={0},brr[100]={0};
printf("请输入字符串arr:");
gets(arr);
printf("请输入字符串brr:");
gets(brr);
int x=my_strcmp(arr,brr);
if(x==0)
{
printf("两个字符串相等\n");
}
else if(x>0)
{
printf("arr>brr\n");
}
else
{
printf("arr<brr\n");
}
    return 0;
}

4.自定义函数(my_strcat)实现strcat函数的功能

#include <stdio.h>
#include <string.h>

void my_strcat(char *p,const char *q)
{
int i=0;
for(i=0;*(p+i)!='\0';i++){}

for(int j=0;*(q+j)!='\0';j++)
{
*(p+i)=*(q+j);
i++;
}
}

int main(int argc,const char *argv[])
{
    char arr[100]={0},brr[100]={0};
printf("请输入字符串arr:");
gets(arr);
printf("请输入字符串brr:");
gets(brr);
my_strcat(arr,brr);
printf("arr数组为:%s\n",arr);
printf("brr数组为:%s\n",brr);
    return 0;
}

5.自定义函数(my_strstr)实现求src字符串中是否包含子串dest字符串

#include <stdio.h>
#include <string.h>

int my_strstr(const char *p,const char *q)
{
int flag=0;
for(int i=0;*(p+i)!='\0';i++)
{
if(*(p+i)==*q)
{
for(int j=0;*(q+j)!='\0';j++)
{
if(*(q+j)!=*(p+i+j))
{
flag=1;
}
}
if(flag==0)
{
return 1;
}
flag=0;
}
}
return -1;
}

int main(int argc,const char *argv[])
{
    char arr[100]={0},brr[100]={0};
printf("请输入字符串arr:");
gets(arr);
printf("请输入字符串brr:");
gets(brr);
int x=my_strstr(arr,brr);
if(x>0)
{
printf("arr中包含brr\n");
}
else if(x<0)
{
printf("arr中不包含brr\n");
}
    return 0;
}

思维导图


原文地址:https://blog.csdn.net/qq_64434282/article/details/140384069

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!