第一次用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...