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

  • <label id="nsftt"></label>

          <bdo id="nsftt"></bdo>
              <object id="nsftt"><tt id="nsftt"><pre id="nsftt"></pre></tt></object>

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

              思而思學網

              上機時間兩小時,3道題

              1 字串轉換

              問題描述:

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

              要求實現函數:

              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)//當前字符與前一個字符不相等,則該字符+1

              {

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

              c=input[i];

              tag=1;

              }else

              {

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

              {

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

              c='\0';

              tag=0;

              }else//當前字符與前一個字符相等,且前面已有2n個字符相同。則按第一次出現算

              {

              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)//當前字符與前一個字符不相等,則該字符+1

              {

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

              c=input[i];

              tag=1;

              }else

              {

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

              {

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

              c='\0';

              tag=0;

              }else//當前字符與前一個字符相等,且前面已有2n個字符相同。則按第一次出現算

              {

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

              c=output[i];

              tag=1;

              }

              }

              }

              }

              熱門推薦

              最新文章