面試題,將we替換為you,將you替換為we

2021-06-07 06:36:54 字數 2519 閱讀 7029

第一次用vc做面試題,原題如下:

檔案評審

michel需要評審乙份檔案,但是卻有另一件緊急的事情要處理,於是請好友jack幫忙評審一下。當michel看到jack評審結果後,發現乙個問題,jack是以第一人稱評審的,現有michel需要將jack評審中第一人稱(we)和第二人稱(you)進行置換(you換成we,we換成you),並要求在句首的單詞首字母大寫。現在需要請你幫忙完成這個工作。

jack的評審文字單詞之間是以空格」 」或者標準標點符號」,」 「.」 「?」 「!」 「;」作為分隔符的,評審文字內容不超過1024個字元長度。

假設michel需要的評審文字如下:

sample_input:you are students,you should not get the weapon.

sample_output: we are students,we should not get the weapon.

sample_input: you are students,you should not get the weapon.

sample_output: we are students,we should not get the weapon.

sample_input: you are students,  you should not get the weapon.

sample_output: we are the students,  we should not get the weapon.

**輸入部分參考:

#define max_size  (1024)

int main(void)

//! 新增自己的業務處理函式

return 0; }

測試用例參考:

用例1:

輸入:you are students,you should not get the weapon.

輸出:we are students,we should not get the weapon.

由於對vc不是很熟悉,所以寫出了效率很低的**(用了大量的strlen,strcpy等函式),但是功能都實現了。

主要思想是:如果乙個we的前面有分隔符,後面也有分隔符,就把它當作是乙個需要替換的字串,對於句首we的識別,我用了比較偷懶的方法,再句首插入乙個

分割符,這樣就不用判斷句首了,最後再將句首字母大寫。

#include #include #include #define max_size (1024)

//大寫字元轉小寫字母

char upper_to_lower(char chsymbol)

else }

//小寫字元轉大寫字母

char lower_to_upper(char chsymbol)

else }

//input: char *pszinput, int ninputlen, int ninputsize

//output: char *pszinput

int review(char *pszinput, int ninputlen, int ninputsize)

pszinput[j] = '\0';

//printf("給輸入字串加了空格:<%s>\n", pszinput);

for (i = 0; i < ninputlen; i++)

strcpy(pszinput + i + 4, sztemp);

i = i + 3; //已經處理了3個字元,所以向後向後偏移3.}}

} //將you替換為we

if ((*(pszinput + i + 0) == ' ')

|| (*(pszinput + i + 0) == ',')

|| (*(pszinput + i + 0) == '.')

|| (*(pszinput + i + 0) == '?')

|| (*(pszinput + i + 0) == '!')

|| (*(pszinput + i + 0) == ';')

)*(pszinput + ninputlen - 1) = '\0'; //因為you==》we少了乙個字元,所以\0也應該向前移動一位。

ninputlen = ninputlen - 1;

i = i + 2; //已經處理了2個字元,所以向後向後偏移2.}}

} }//去掉頭部'.'

memset(sztemp, 0x0, max_size * 2);

strcpy(sztemp, pszinput + 1);

strcpy(pszinput, sztemp);

//確保字串的開頭為大寫

*pszinput = lower_to_upper(*pszinput);

return 0;

}int main(void)

printf("output string is:<%s>\n", szinput);

return 0;

}

Java面試題 將金額轉換為RMB大寫形式

經常出現的一道面試題,將金額轉換為rmb大寫形式,如不懂題目意思可上網搜搜該題目,下面是我自己寫的 package com.wuhaiming 將金額轉換為rmb大寫形式.author wuhaiming version v1.0 date 2010 10 14下午04 20 13 public c...

劍指Offer面試題 35 將字串轉換為數字

題目 寫乙個函式strtoint,實現把字串轉換成整數這個功能。當然,不能使用atoi或者其他類似的庫函式。1 考慮輸入的字串是否是null 空字串 2 考慮輸入的字串是否包含正負號或者是否是只包含正負號 3 考慮輸入的字串是否會發生上溢或下溢 正整數的最大值是0x7fffffff,最小的負整數是0...

程式設計師面試金典 將字串中的空格全部替換為

請編寫乙個方法,將字串中的空格全部替換為 20 假定該字串有足夠的空間存放新增的字元,並且知道字串的真實長度 小於等於1000 同時保證字串由大小寫的英文本母組成。給定乙個stringinistring為原始的串,以及串的長度 intlen,返回替換後的string。測試樣例 mr john smi...