一道練習題:請編寫一段程式,統計母音字母,空格、製表符和換行符以及ff,fl,fi的數量。
分析一下這道題,其實有3層意思:母音一層,符號一層,雙字母一層。
剛開始我用的是string型+switch來處理母音一層和雙字母一層可以解決。當我將符號也新增進switch時發現無法統計,查閱書籍後才明白:string物件會自動忽略開頭的空白(即空格符、換行符、製表符)並從第乙個真正的字元開始讀起,直到遇到下一處空白為止。所以用string來處理不可行。
然後,我又換做getline(cin,str)來處理,結果是換行符無法統計,查書後明白:getline函式從給定的輸入流中讀入內容,直到遇到換行符為止(換行符也被讀進來),然後把所讀內容存入string物件中(不存換行符)。getline只要一遇到換行符就結束操作並返回結果。由此可見,getline也不能實現。
好吧,只能用char型別了。這回母音和符號是實現了,可是雙字母又卡克了。(想了很長時間)在快睡覺的時候突然就想到了乙個方法,在case:『f』後面再加輸入函式,在判斷。今早一試果然完美實現。**如下:
case 'f':
istr=cin.get();
if(istr=='f')++ffcnt;
if(istr=='l')++flcnt;
if(istr=='i')++ficnt;
break;
附:1、在解決這個問題時遇到了乙個問題:關於文字結束符ctrl+z不靈。上網查了一下,按網友說得修改**如下istr=cin.get();
while(istr!=eof)
在c語言中,或更精確地說成c標準函式庫中表示檔案結束符(end of file)。在while迴圈中以eof作為檔案結束標誌,這種以eof作為檔案結束標誌的檔案,必須是文字檔案。在文字檔案中,資料都是以
字元的ascii**值的形式存放。我們知道,
2、以上查閱書籍均為《c++primer中文版(第5版)》 王剛 楊巨峰 譯
電子工業出版社
SQL去除回車符,換行符,空格和水平製表符
sql去除回車符,換行符,空格和水平製表符,參考下面語句,一般情況是sql接受富文字或是textarea的內容。在 資料庫接收到這些資料之後,還是對其做一些處理。replace replace replace replace fieldname char 13 char 10 char 9 其中 c...
換行和製表符
excel複製出來的資料,複製到jupyternotebook和pycharm和notepad都帶有製表符 解決方案用word替換 特殊符號中的製表符 有關換行的問題 首先提乙個問題,如下。有python程式 print i m bob.what s your name?i m bob.what s...
sql中的製表符 換行符 回車符,問題
前一陣子用excel匯入資源,使用join時發現匹配項為0 趕緊用left join看看情況,發現無法鏈結表。後來覺得可能是換行的問題,發現還真是,於是就在資料庫裡刪除不想要的字元了,當然,一定要養成良好習慣,遇到update或者delete,一定要先用select探路 select a,b fro...