删除A中与B类似的元素

打印 上一主题 下一主题

主题 890|帖子 890|积分 2674

删除A中与B类似的元素


目次

程序
  1. #include <stdio.h>
  2. /*******************************************************************
  3. *
  4. *        file name:        删除A中与B相同的元素
  5. *        author         :  17647576169@163.com
  6. *        date         :        2024-5-6
  7. *        function :        对字符串A进行处理,参照字符串B,只有字符串B中的字母在字符串A存在,则不分大小写,从字符串A中删除
  8. *         note         :  None
  9. *
  10. *        CopyRight (c)  2024   17647576169@163.com   All Right Reseverd
  11. *
  12. * *****************************************************************/
  13. char *string(char *strA, char *strB)
  14. {
  15.         char *A = strA;
  16.         char *B = strB;
  17.         char *p = strA;
  18.         // 判断字符串B是否到达末尾
  19.         while (*B)
  20.         {
  21.                 // 判断字符串B的当前字符是否属于字母(大写字母 or 小写字母)
  22.                 if ((*B < 'A' || *B > 'Z') && (*B < 'a' || *B > 'z'))
  23.                 {
  24.                         // 如果字符串B的字符不是字母,则向后偏移
  25.                         B++;
  26.                         continue;
  27.                 }
  28.                 // 让字符串B中的每个字符都和字符串A中的所有字符进行比较
  29.                 while (*A != '\0')
  30.                 {
  31.                         // 比较字符的ASCII码,注意:不分大小写
  32.                         if ((*A == *B) || (*A == *B + 32) || (*A == *B - 32))
  33.                                 ;
  34.                         else
  35.                         {
  36.                                 *p = *A;
  37.                                 p++;
  38.                         }
  39.                         A++;
  40.                         if (*A == '\0')
  41.                         {
  42.                                 *p = '\0';
  43.                         }
  44.                 }
  45.                 // 初始化P和A的位置
  46.                 A = strA;
  47.                 p = strA;
  48.                 B++;
  49.         }
  50.         return strA;
  51. }
复制代码
验证
  1. int main(int argc,
  2.                  char const *argv[])
  3. {
  4.         char A[] = "hHHeooHolloooo23ooo,world456";
  5.         char B[] = "l111H";
  6.         string(A, B);
  7.         printf("%s\n", A);
  8.         return 0;
  9. }
复制代码
输出结果
  1. eooooooo23ooo,word456
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

刘俊凯

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表