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;
}

思维导图

相关推荐

  1. 作业..........

    2024-07-13 04:34:02       50 阅读
  2. 20240203作业

    2024-07-13 04:34:02       39 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-13 04:34:02       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-13 04:34:02       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-13 04:34:02       57 阅读
  4. Python语言-面向对象

    2024-07-13 04:34:02       68 阅读

热门阅读

  1. 【C++精华铺】12.STL list模拟实现

    2024-07-13 04:34:02       18 阅读
  2. xargs命令

    2024-07-13 04:34:02       24 阅读
  3. TCP和UDP的区别

    2024-07-13 04:34:02       21 阅读
  4. 【python】IPython的使用技巧

    2024-07-13 04:34:02       24 阅读