删除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;
- }
复制代码 输出结果
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |