1. <tt id="5hhch"><source id="5hhch"></source></tt>
    1. <xmp id="5hhch"></xmp>

  2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

    <rp id="5hhch"></rp>
        <dfn id="5hhch"></dfn>

      1. C++面試題

        時間:2020-11-08 09:08:17 面試問題 我要投稿

        C++面試題

        1、給定字符串 A 和 B,輸出 A 和 B 中的最大公共子串。
        比如 A="aocdfe" B="pmcdfa" 則輸出"cdf"
        */
        //Author: azhen
        #include<stdio.h>
        #include<stdlib.h>
        #include<string.h>
        char *commanstring(char shortstring[], char longstring[])
        {
        int i, j;
        char *substring=malloc(256);
        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]='\0';
        if(strstr(longstring, substring)!=NULL)
        return substring;
        }
        }
        return NULL;
        }
        main()
        {
        char *str1=malloc(256);
        char *str2=malloc(256);
        char *comman=NULL;
        gets(str1);
        gets(str2);
        if(strlen(str1)>strlen(str2)) //將短的字符串放前面
        comman=commanstring(str2, str1);
        else
        comman=commanstring(str1, str2);
        printf("the longest comman string is: %s\n", comman);
        }
        2、寫一個函數比較兩個字符串 str1 和 str2 的.大小,若相等返回 0,若 str1 大于str2 返回 1,若 str1 小于 str2 返回-1
        int strcmp ( const char * src,const char * dst)
        {
        int ret = 0 ;
        while( ! (ret = *(unsigned char *)src - *(unsigned char *)dst) && *dst)
        {
        ++src;
        ++dst;
        }
        if ( ret < 0 )
        ret = -1 ;
        else if ( ret > 0 )
        ret = 1 ;
        return( ret );
        }
        3、求 1000!的未尾有幾個 0(用素數相乘的方法來做,如 72=2*2*2*3*3);
        求出 1->1000 里,能被 5 整除的數的個數 n1,能被 25 整除的數的個數 n2,能被 125 整除的數的個數 n3,
        能被 625 整除的數的個數 n4.
        1000!末尾的零的個數=n1+n2+n3+n4;
        #include<stdio.h>
        #define NUM 1000
        int find5(int num){
        int ret=0;
        while(num%5==0){
        num/=5;
        ret++;
        }
        return ret;
        }
        int main(){
        int result=0;
        int i;
        for(i=5;i<=NUM;i+=5)
        {
        result+=find5(i);
        }
        printf(" the total zero number is %d\n",result);
        return 0;
        }
        4、有雙向循環鏈表結點定義為:
        struct node
        { int data;
        struct node *front,*next;
        };
        有兩個雙向循環鏈表 A,B,知道其頭指針為:pHeadA,pHeadB,請寫一函數將兩鏈表中 data值相同的結點刪除
        BOOL DeteleNode(Node *pHeader, DataType Value)
        {
        if (pHeader == NULL) return;
        BOOL bRet = FALSE;
        Node *pNode = pHead;
        while (pNode != NULL)
        {
        if (pNode->data == Value)
        {
        if (pNode->front == NULL)
        {
        pHeader = pNode->next;
        pHeader->front = NULL;
        }
        else
        {
        if (pNode->next != NULL)
        {
        pNode->next->front = pNode->front;
        }
        pNode->front->next = pNode->next;
        }
        Node *pNextNode = pNode->next;
        delete pNode;
        pNode = pNextNode;
        bRet = TRUE;
        //不要 break 或 return, 刪除所有
        }
        else
        {
        pNode = pNode->next;
        }
        }
        return bRet;
        }
        void DE(Node *pHeadA, Node *pHeadB)
        {
        if (pHeadA == NULL || pHeadB == NULL)
        {
        return;
        }
        Node *pNode = pHeadA;
        while (pNode != NULL)
        {
        if (DeteleNode(pHeadB, pNode->data))
        {
        if (pNode->front == NULL)
        {
        pHeadA = pNode->next;
        pHeadA->front = NULL;
        }
        else
        {
        pNode->front->next = pNode->next;
        if (pNode->next != NULL)
        {
        pNode->next->front = pNode->front;
        }
        }
        Node *pNextNode = pNode->next;
        delete pNode;
        pNode = pNextNode;
        }
        else
        {
        pNode = pNode->next;
        }
        }
        }

        【C++面試題】相關文章:

        C/C++面試題目11-21

        精選C++面試題及答案10-03

        C,C++的幾個面試題小集11-24

        一個C/C++編程面試題11-22

        嵌入式C/C++面試題201611-12

        2016年c++經典面試題及答案10-03

        華為C++筆試題11-23

        聯想C++筆試題11-23

        C++筆試實例分析11-22

        Sony C++筆試題11-22

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码

        1. <tt id="5hhch"><source id="5hhch"></source></tt>
          1. <xmp id="5hhch"></xmp>

        2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

          <rp id="5hhch"></rp>
              <dfn id="5hhch"></dfn>