亚洲福利精品久久久久91|中文字幕乱码视频网|在线播放国产精品一区二区|亚洲成AV人片女在线观看

<thead id="tzpj5"></thead>
  • <cite id="tzpj5"><listing id="tzpj5"></listing></cite>
    <strike id="tzpj5"><option id="tzpj5"><td id="tzpj5"></td></option></strike>

    華為校園招聘上機(jī)筆試題和面試題答案(一)

    思而思學(xué)網(wǎng)

    上機(jī)時(shí)間兩小時(shí),3道題

    1 字串轉(zhuǎn)換

    問題描述:

    將輸入的字符串(字符串僅包含小寫字母‘a’到‘z’),按照如下規(guī)則,循環(huán)轉(zhuǎn)換后輸出:a->b,b->c,…,y->z,z->a;若輸入的字符串連續(xù)出現(xiàn)兩個(gè)字母相同時(shí),后一個(gè)字母需要連續(xù)轉(zhuǎn)換2次。例如:aa 轉(zhuǎn)換為 bc,zz 轉(zhuǎn)換為 ab;當(dāng)連續(xù)相同字母超過兩個(gè)時(shí),第三個(gè)出現(xiàn)的字母按第一次出現(xiàn)算。

    要求實(shí)現(xiàn)函數(shù):

    void convert(char input,char output)

    【輸入】 char input , 輸入的字符串

    【輸出】 char output ,輸出的字符串

    【返回】 無

    示例

    輸入:charinput="abcd"

    輸出:charoutput="bcde"

    輸入:charinput="abbbcd"

    輸出:charoutput="bcdcde"

    void convert(char input,char output)

    {

    char c='\0';

    int tag=0;

    int len=strlen(input);

    for(int i=0;i

    {

    if(input[i]!=c)//當(dāng)前字符與前一個(gè)字符不相等,則該字符+1

    {

    output[i]=(input[i]-'a'+1)%26+'a';

    c=input[i];

    tag=1;

    }else

    {

    if(tag==1)//當(dāng)前字符與前一個(gè)字符相等,且前面只有一個(gè)字符相同

    {

    output[i]=(input[i]-'a'+2)%26+'a';

    c='\0';

    tag=0;

    }else//當(dāng)前字符與前一個(gè)字符相等,且前面已有2n個(gè)字符相同。則按第一次出現(xiàn)算

    {

    output[i]=(input[i]-'a'+1)%26+'a';

    c=output[i];

    tag=1;

    }

    }

    }

    }

    void convert(char input,char output)

    {

    char c='\0';

    int tag=0;

    int len=strlen(input);

    for(int i=0;i

    {

    if(input[i]!=c)//當(dāng)前字符與前一個(gè)字符不相等,則該字符+1

    {

    output[i]=(input[i]-'a'+1)%26+'a';

    c=input[i];

    tag=1;

    }else

    {

    if(tag==1)//當(dāng)前字符與前一個(gè)字符相等,且前面只有一個(gè)字符相同

    {

    output[i]=(input[i]-'a'+2)%26+'a';

    c='\0';

    tag=0;

    }else//當(dāng)前字符與前一個(gè)字符相等,且前面已有2n個(gè)字符相同。則按第一次出現(xiàn)算

    {

    output[i]=(input[i]-'a'+1)%26+'a';

    c=output[i];

    tag=1;

    }

    }

    }

    }

    熱門推薦

    最新文章