色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > C語言試題大全一

          C語言試題大全一

          作者: 時間:2016-11-24 來源:網絡 收藏
          1. 寫一函數,實現刪除字符串str1中含有的字符串str2.

          /* 用遞歸做 */
          void deletesubstr(char* str1, const char* str2)
          {
          int len=strlen(str1);
          char* newstr;
          char* sp;
          if(str1==NULL||str2==NULL)
          return;
          if(strlen(str1) return;
          if(sp=strstr(str1,str2))
          {
          newstr=malloc(len+1);
          strncpy(newstr,str,sp-str);
          strcpy(newstr+(sp-str),sp+strlen(str2));
          strcpy(str1,newstr);
          free(newstr);
          deletesubstr(str1,str2);
          }
          else
          return;
          }

          2.雅虎筆試題(字符串操作)
          給定字符串A和B,輸出A和B中的最大公共子串。
          比如A="aocdfe" B="pmcdfa" 則輸出"cdf"

          答案:
          //Author: azhen
          #include
          #include
          #include

          char *commanstring(char shortstring[], char longstring[])
          {
          int i, j;

          char *substring=malloc(strlen(shortstring)+1);

          if(strstr(longstring, shortstring)!=NULL) //如果……,那么返回shortstring
          return shortstring;

          for(i=strlen(shortstring)-1;i>0; i--) //否則,開始循環(huán)計算
          {
          for(j=0; j<=strlen(shortstring)-i; j++){
          memcpy(substring, &shortstring[j], i); // 從最長的字符串開始
          substring[i]=