【NOIP2018普及組】標題統計 - 關於字符的不同的讀入方法

題目大意
凱凱剛寫了一篇美妙的作文,請問這篇作文的標題中有多少個字符? 注意:標題中可能包含大、小寫英文字母、數字字符、空格和換行符。統計標題字 符數時,空格和換行符不計算在內。

評測地址:http://code.qingtengbc.com/problem/3

本題考察知識點
C++字符及字符串讀入方式,cin,getline,scanf,getchar()的使用等

算法分析
本題重點考察C++的幾種讀入方式,雖然數據讀入是編程中最近基本的內容,但是想要完成掌握透徹還是一件比較難的事情。以下是本題基於cin,getline,scanf和getchar()的四種解法。

解法一
我們先看cin的使用,如果真正瞭解cin的同學,那麼就可以知道cin是自動忽略換行和回車的,那麼如果我們能用cin讀入一個字符,必然不是換行和回車,則可以給總的字符數加1。

在這裏插入圖片描述

解法二
如果是使用getline,那麼我們可以把整一行的字符串(包含空格)都讀入進來, 這是getline的功能,然後循環一遍整個字符串,把空格過濾掉即可。

在這裏插入圖片描述

解法三
如果是使用scanf讀入一個一個的字符,那麼空格和回車在內的所有字符都可以讀入,因此我們可以用scanf讀入每一個字符,然後過濾掉空格和回車即可。注意scanf來自c的語法,需要使用頭文件cstdio

在這裏插入圖片描述

解法四
如果使用getchar(),那麼也是一個一個獲取字符,然後過濾掉空格和回車,類似於scanf的用法。

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章