• c面試題

    時間:2022-07-13 13:07:40 面試 我要投稿

    c面試題

    c面試題

    1、給一個字符串,例如“ababc”要求返回“ab”,因為“ab”連續重復出現且最長 好長時間不編程序了,剛開始的時候編不出來,想開別人寫的,可悲的是看不懂,后來自己編了一個,效率不能有其他的人的好,自己編的還是記錄下來了。 #include

    #include#includeint search(char *str,char * substr) { int l_str = strlen(str); int l_substr = strlen(substr); int sum = 0; if(l_str

    } void main() { char str[]="ababc"; char sb[]="ab"; int sum =search(str,sb); printf("str:%s,sum:%d\n",sb,sum); f(str); }

    2、關于中文漢字截斷

    由于漢字是2個字符(這里不討論可變字符的情形),因此,在C語言中,用一個固定長度的buffer 存放包含漢字的字符串,就有漢字被截斷從而導致半個漢字的情形的出現。半個漢字的存在,對字符串的后續處理,會帶來一定的麻煩,比如在xml文檔、或者 SQL語句中,如果存在半個漢字,就會導致xml解析失敗,或者sql執行錯誤的異常。為了解決這個問題,有必要找到并刪除半個漢字,或者存放的時候,即 便截斷,也不產生新的半個漢字。

    char str[]="中國china";

    printf("%s,%d\n",str,strlen(str));

    //scanf("%s %s",&str,&substr);

    int len = strlen(str);

    int n=0;

    for(int i=0;i{

    if(!(str[i]&0x80))

    {

    break;

    }

    n++;

    }

    printf("%d\n",n);

    4、對序列1,1,3,5,8,13......是Fab..數列2,3,4,13...是Fab..質數數列,因為他們與自己前面的Fab數列都互質給出k,返回第k小的Fab..質數。

    自己的答案:

    #include

    #include

    #include

    #include

    bool f1(int n)

    {

    bool flag = true;

    for(int i=2;i<=sqrt(n);i++)

    {

    if(n%i ==0)

    {

    flag = false;

    break;

    }

    }

    return flag;

    }

    int ff(int k)

    {

    int a = 1;

    int b = 1;

    int n = 1;

    while(1)

    {

    int temp = b;

    b = a+b;

    a = temp;

    printf("|%d\n",b);

    if(f1(b)) n++;

    if(n==k) return b;

    }

    }

    void main()

    {

    int k;

    scanf("%d",&k);

    int b = ff(k);

    printf("%d\n",b);

    }

    #include

    #include

    #include

    #include

    bool f1(int n)

    {

    bool flag = true;

    for(int i=2;i<=sqrt(n);i++)

    //備注:一個數如果不能被比它平方根小的所有質數整除,那么它就是質數。

    //i從2開始,編程的時候,隨便寫了個0,就捅了婁子。

    {

    if(n%i ==0)

    {

    flag = false;

    break;

    }

    }

    return flag;

    }

    void ff(int k)

    {

    int a = 1;

    int b = 1;

    while(a+b<=k)

    {

    int temp = b;

    b = a+b;

    a = temp;

    }

    while(!f1(b))

    {

    printf("he\n");

    int temp = b;

    b = a;

    a = temp - b;

    }

    printf("%d\n",b);

    }

    void main()

    {

    int k;

    scanf("%d",&k);

    ff(k);

    }

    【c面試題】相關文章:

    經典C/C++面試題07-11

    c面試題08-04

    華為C++/MFC面試題07-11

    華為面試題C語言軟件工程師07-11

    華為C/C++筆試題07-11

    華為C/C++筆試題系列二07-11

    華為面試題07-11

    「MySQL」經典面試題07-11

    面試題與技巧07-12

    采購面試題07-11

    黄频国产免费高清视频_富二代精品短视频在线_免费一级无码婬片aa_精品9E精品视频在线观看