新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 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--) //否則,開始循環計算
        {
        for(j=0; j<=strlen(shortstring)-i; j++){
        memcpy(substring, &shortstring[j], i); // 從最長的字符串開始
        substring[i]= 主站蜘蛛池模板: 陆丰市| 壶关县| 门源| 道孚县| 攀枝花市| 大庆市| 平塘县| 辽宁省| 崇左市| 康马县| 宜兰县| 辉南县| 犍为县| 姜堰市| 岳阳市| 南投市| 丹阳市| 五原县| 开化县| 明水县| 黑山县| 柏乡县| 余姚市| 大庆市| 长治市| 于田县| 平和县| 伊金霍洛旗| 遵义县| 信丰县| 水城县| 手游| 西林县| 额济纳旗| 松滋市| 张北县| 洞头县| 宜黄县| 福州市| 潜江市| 会泽县|