删除A中与B相同的元素
  6Df3JnWQUC5m 12天前 68 0

删除A中与B相同的元素

程序

#include <stdio.h>
/*******************************************************************
 *
 *	file name:	删除A中与B相同的元素
 *	author	 :  17647576169@163.com
 *	date	 :	2024-5-6
 *	function :	对字符串A进行处理,参照字符串B,只有字符串B中的字母在字符串A存在,则不分大小写,从字符串A中删除
 * 	note	 :  None
 *
 *	CopyRight (c)  2024   17647576169@163.com   All Right Reseverd
 *
 * *****************************************************************/

char *string(char *strA, char *strB)
{
	char *A = strA;
	char *B = strB;
	char *p = strA;
	// 判断字符串B是否到达末尾

	while (*B)
	{

		// 判断字符串B的当前字符是否属于字母(大写字母 or 小写字母)
		if ((*B < 'A' || *B > 'Z') && (*B < 'a' || *B > 'z'))
		{

			// 如果字符串B的字符不是字母,则向后偏移
			B++;
			continue;
		}
		// 让字符串B中的每个字符都和字符串A中的所有字符进行比较
		while (*A != '\0')
		{
			// 比较字符的ASCII码,注意:不分大小写
			if ((*A == *B) || (*A == *B + 32) || (*A == *B - 32))
				;
			else
			{
				*p = *A;
				p++;
			}
			A++;
			if (*A == '\0')
			{
				*p = '\0';
			}
		}
		// 初始化P和A的位置
		A = strA;
		p = strA;
		B++;
	}
	return strA;
}

验证

int main(int argc,
		 char const *argv[])
{
	char A[] = "hHHeooHolloooo23ooo,world456";
	char B[] = "l111H";
	string(A, B);
	printf("%s\n", A);
	return 0;
}

输出结果

eooooooo23ooo,word456
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

上一篇: 顺序表的实现 下一篇: C语言加强
  1. 分享:
最后一次编辑于 12天前 0

暂无评论

推荐阅读
  TKwJ4YzyA8uz   3天前   7   0   0 C语言
  fHBiUfJyY67V   24天前   16   0   0 C语言
  V88gxnVgnp1F   12天前   67   0   0 C语言
  o1ZcTI9mJsxK   12天前   76   0   0 C语言
6Df3JnWQUC5m