亚洲欧美精品沙发,日韩在线精品视频,亚洲Av每日更新在线观看,亚洲国产另类一区在线5

<pre id="hdphd"></pre>

  • <div id="hdphd"><small id="hdphd"></small></div>
      學(xué)習(xí)啦 > 創(chuàng)業(yè)指南 > 職場(chǎng) > 筆試題 > C語(yǔ)言字符串筆試題

      C語(yǔ)言字符串筆試題

      時(shí)間: 護(hù)托1061 分享

      C語(yǔ)言字符串筆試題

        C語(yǔ)言的運(yùn)算非常靈活,功能十分豐富,運(yùn)算種類遠(yuǎn)多于其它程序設(shè)計(jì)語(yǔ)言。下面就由學(xué)習(xí)啦小編為大家介紹一下C語(yǔ)言字符串筆試題的文章,歡迎閱讀。

        C語(yǔ)言字符串筆試題篇1

        對(duì)一個(gè)字符串重新排列,字母排在前面,數(shù)字排在后面,并不改變?cè)瓉?lái)字母之間以及數(shù)字之間的字符順序。

        [cpp] view plain copy print?

        #include

        #include

        #include

        #define N 30

        /***********************************************

        *函數(shù)名稱: fun

        *創(chuàng)建時(shí)間: 2010.12.5

        *描 述: 對(duì)一個(gè)字符串重新排列,字母排在前面,數(shù)字排在后面,并不改變?cè)瓉?lái)字母之間以及數(shù)字之間的字符順序。

        *參 數(shù): char * s,int *m

        *返 回 值: chLetter(數(shù)組chLetter[]的首元素地址)

        *局部變量: char chLetter[N];

        * char chNumber[N];

        * int i,j,k;

        ************************************************/

        char * fun(char * s,int *m) //參數(shù)m是通過(guò)調(diào)試才想到的

        {

        char chLetter[N]; //用來(lái)存放字母

        char chNumber[N]; //用來(lái)存放數(shù)字

        int i,j,k;

        i=0; //初始化

        j=0; //j用來(lái)記錄字母的個(gè)數(shù)

        k=0; //k用來(lái)記錄數(shù)字的個(gè)數(shù)

        for (i=0; i

        {

        if (s[i] >= 'A' && s[i] <= 'Z' //將字母存入chLetter[]

        || s[i] >= 'a' && s[i] <= 'z')

        {

        chLetter[j]=s[i];

        j++;

        }

        if (s[i] >= '0' && s[i] <='9') //將數(shù)字存入chNumber[]

        {

        chNumber[k]=s[i];

        k++;

        }

        }

        chLetter[j]='';

        chNumber[k]='';

        *m=j+k; //用來(lái)返回最后輸入和輸出時(shí)字符的個(gè)數(shù)

        strcat(chLetter,chNumber);

        return chLetter;

        }

        //主函數(shù)

        void main()

        {

        char s[N];

        int i;

        int m;

        char *p;

        p=NULL;

        printf("請(qǐng)輸入字符串(30字符以內(nèi)):n");

        scanf("%s",s);

        p=fun(s,&m); //剛開(kāi)始沒(méi)定義出這個(gè)m來(lái)現(xiàn)限制指針p所指數(shù)組的長(zhǎng)度就出現(xiàn)了后面兩個(gè)字符亂碼

        for (i=0; i

        {

        s[i]=p[i];

        }

        printf("結(jié)果為:");

        for (i=0; i

        {

        printf("%c",s[i]);

        }

        printf("n");

        }

        C語(yǔ)言字符串筆試題篇2

        將s所指字符串中最后一次出現(xiàn)的與t1所指字符串相同的子串替換為t2所指字符串。

        [cpp] view plain copy print?

        #include

        #include

        #include

        #define N 30 //s所指字符串的最大長(zhǎng)度

        #define T 2 //t1和t2所指字符串的長(zhǎng)度

        /***********************************************

        *函數(shù)名稱: fun

        *創(chuàng)建時(shí)間: 2010.12.5

        *描 述: 將s所指字符串中最后一次出現(xiàn)的與t1所指字符串相同的子串替換為t2所指字符串

        *參 數(shù): char * s,char * t1, char * t2,int *m

        *返 回 值: w(數(shù)組w[]的首元素地址)

        *局部變量: char w[N];

        * char temp[T];

        * char t1temp[T];

        * int i,j,k,l;

        ************************************************/

        char * fun(char * s,char * t1, char * t2,int *m) //m的作用和第一題一樣,沒(méi)m最后兩個(gè)字符會(huì)亂碼(想尋求其他方法)

        {

        char w[N]; //用來(lái)存放處理后的字符串

        char temp[T]; //用來(lái)存放從s所指字符串中截取的子串

        char t1temp[T]; //用來(lái)存放t1所指字符串

        int i,j,k,l;

        //向t1temp中存入t1所指字符串

        for (i=0; i

        {

        t1temp[i]=t1[i];

        }

        t1temp[T]='';

        //求m所指的值

        for (i=0;i

        {

        if (s[i]=='')

        {

        *m=i;

        }

        }

        //尋找相同時(shí)的最后一個(gè)字符的下標(biāo)

        for (i=0; i

        {

        l=0;

        for (j=i; j<(i+T); j++,l++) //截取長(zhǎng)度為T(mén)的子串存到temp[]中

        {

        temp[l]=s[j];

        }

        temp[T]='';

        if (strcmp(t1temp,temp) == 0)

        {

        k=i; //k記錄相同時(shí)的最后一個(gè)字符的下標(biāo)

        }

        }

        for (i=0; i

        {

        j=0;

        if (i>=k && i<(k+T)) //在找到的k點(diǎn)處開(kāi)始換值

        {

        w[i]=t2[j]; //換值

        j++;

        }

        else

        {

        w[i]=s[i];

        }

        }

        return w;

        }

        //主函數(shù)

        void main()

        {

        char s[N];

        char t1[T];

        char t2[T];

        int i;

        int m;

        char *p;

        p=NULL;

        printf("請(qǐng)輸入字符串(20字符以內(nèi)):");

        scanf("%s",s);

        printf("請(qǐng)輸入將要被替換的子字符串(僅限兩個(gè)字符):");

        scanf("%s",t1);

        printf("請(qǐng)輸入將要用來(lái)替換的字字符串(僅限兩個(gè)字符):");

        scanf("%s",t2);

        p=fun(s,t1,t2,&m);

        for (i=0; i

        {

        s[i]=p[i];

        }

        printf("結(jié)果為:");

        for (i=0; i

        {

        printf("%c",s[i]);

        }

        printf("n");

        }

        C語(yǔ)言字符串筆試題篇3

        將s所指的字符串中ASCII值為奇數(shù)的字符刪除,串中剩余字符形成一個(gè)新串放在t所指的數(shù)組中。

        [cpp] view plain copy print?

        #include

        #include

        #include

        #define N 30

        /***********************************************

        *函數(shù)名稱: fun

        *創(chuàng)建時(shí)間: 2010.12.6

        *描 述: 將s所指的字符串中ASCII值為奇數(shù)的字符刪除,串中剩余字符形成一個(gè)新串放在t所指的數(shù)組中。

        *參 數(shù): char * s,int * m

        *返 回 值: return t,(t為指向數(shù)組的指針)

        *局部變量: char * t;

        * char temp[N];

        * int i,j=0;

        ************************************************/

        char * fun(char * s,int * m)

        {

        char * t;

        char temp[N]; //臨時(shí)的數(shù)組,用來(lái)存放t所指的數(shù)組

        int i,j=0;

        t=temp;

        for (i=0; i

        {

        if (s[i]%2==0 )

        {

        temp[j]=s[i]; //如果是偶數(shù),賦值給t所指的數(shù)組

        j++;

        if (s[i]=='') //找到m的值先要找出輸入了多少個(gè)字符

        {

        break;

        }

        }

        }

        *m=j; //找到m的值即輸出結(jié)果的長(zhǎng)度

        t[j]='';

        return t;

        }

        //主函數(shù)

        void main()

        {

        char s[N];

        int i;

        int m;

        char *p;

        p=NULL;

        printf("請(qǐng)輸入字符串(30字符以內(nèi)):n");

        scanf("%s",s);

        p=fun(s,&m); //剛開(kāi)始沒(méi)定義出這個(gè)m來(lái)現(xiàn)限制指針p所指數(shù)組的長(zhǎng)度就出現(xiàn)了后面兩個(gè)字符亂碼

        for (i=0; i

        {

        s[i]=p[i];

        }

        printf("結(jié)果為:");

        for (i=0; i

        {

        printf("%c",s[i]);

        }

        printf("n");

        }

      3173164