找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

帖子
查看: 1916|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

求兩個(gè)字符串中相同的字符(不區(qū)分大小寫(xiě))并排序緩存打印

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
求兩個(gè)字符串中相同的字符(不區(qū)分大小寫(xiě))并緩存打印char *Get_str(const char *instr1, const char *instr2)  //返回值為椎區(qū)內(nèi)存   instr1  為  輸入第一個(gè)字符串   instr2  為輸入第二個(gè)字符串
  1. {
  2.    if(instr1 == NULL || instr2 == NULL)
  3.   {
  4.     printf("input err.\n");
  5.     return NULL;
  6.   }
  7.   int i = 0, j = 0;
  8.   while(instr1[i])  //把字符串  instr1  字符全部轉(zhuǎn)換為  小寫(xiě)
  9.   {
  10.      if(instr1[i] >= 'A' && instr1[i] <= 'Z')
  11.        instr1[i]   += 32;
  12.      i++;
  13.   }
  14.   while(instr2[j])  //把字符串  instr2  字符全部轉(zhuǎn)換為  小寫(xiě)
  15.   {
  16.      if(instr2[j] >= 'A' && instr2[j] <= 'Z')
  17.        instr2[j]   += 32;
  18.      i++;
  19.   }


  20.    int flag = 1;   //設(shè)置一個(gè)標(biāo)志  如果 判斷  輸出的字符串是否有相同的如果有  變?yōu)?
  21.    char   *str = (char *)malloc(sizeof(char)*26); //設(shè)置一個(gè)輸出字符串
  22.    int k = 0, sum = 0;
  23.   for(i = 0; i < strlen(instr1); i++)
  24.   {
  25.      for(j = 0; j < strlen(instr2); j++)
  26.      {
  27.         if(instr1[i] == instr2[j])
  28.         {
  29.            flag = 1;
  30.           for(k = 0; k < m; k++)  // 循環(huán)  判斷  是否 與str內(nèi)的字符相同 若不同添加  相同  不添加
  31.           {
  32.             if(instr1[i] == str[m])
  33.             {  flag = 0; }
  34.           }
  35.           if(flag)  
  36.             {  str[m] = instr1[i];  m++; }
  37.         }
  38.      }   
  39.   }
復(fù)制代碼

    char tmp;
   for(i = 0; i < m - 1; i++)   //快速排序
   {
       for(j = i + 1; j < m; j++)
       {
           if(str > str [j])  升序
            { tmp = str;   str  =  str[j]; str[j] = tmp;}
       }
   }

    printf(“%s\n", str);
   return str;
}

歡迎  參與討論 批評(píng)

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:394504 發(fā)表于 2018-9-6 16:10 | 只看該作者
樓主 你的代碼會(huì)出現(xiàn)一個(gè)bug吧  比如 str1 aaaaa 和 str2 ab  會(huì)打印出 aaaaa ,  如果是 str1 ab和 str2 aaaaa  會(huì)打印出 a
回復(fù)

使用道具 舉報(bào)

板凳
ID:390775 發(fā)表于 2018-9-7 08:59 | 只看該作者
qingfengyu 發(fā)表于 2018-9-6 16:10
樓主 你的代碼會(huì)出現(xiàn)一個(gè)bug吧  比如 str1 aaaaa 和 str2 ab  會(huì)打印出 aaaaa ,  如果是 str1 ab和 str2 aa ...


這一部分 是 對(duì) 字符串去重的
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表