【NOIP2018普及组】标题统计

题目大意
凯凯刚写了一篇美妙的作文,请问这篇作文的标题中有多少个字符? 注意:标题中可能包含大、小写英文字母、数字字符、空格和换行符。统计标题字 符数时,空格和换行符不计算在内。

评测地址
http://code.qingtengbc.com/problem/3

本题考察知识点
C++字符及字符串读入方式,cin,getline,scanf,getchar()的使用等

算法分析
本题重点考察C++的几种读入方式,虽然数据读入是编程中最近基本的内容,但是想要完成掌握透彻还是一件比较难的事情。以下是本题基于cin,getline,scanf和getchar()的四种解法。

解法一
我们先看cin的使用,如果真正了解cin的同学,那么就可以知道cin是自动忽略换行和回车的,那么如果我们能用cin读入一个字符,必然不是换行和回车,则可以给总的字符数加1。
【NOIP2018普及组】标题统计_第1张图片
解法二
如果是使用getline,那么我们可以把整一行的字符串(包含空格)都读入进来, 这是getline的功能,然后循环一遍整个字符串,把空格过滤掉即可。
【NOIP2018普及组】标题统计_第2张图片
解法三
如果是使用scanf读入一个一个的字符,那么空格和回车在内的所有字符都可以读入,因此我们可以用scanf读入每一个字符,然后过滤掉空格和回车即可。注意scanf来自c的语法,需要使用头文件cstdio
【NOIP2018普及组】标题统计_第3张图片
解法四
如果使用getchar(),那么也是一个一个获取字符,然后过滤掉空格和回车,类似于scanf的用法。
【NOIP2018普及组】标题统计_第4张图片
了解更多题解,请关注“信息学奥赛指南”

你可能感兴趣的:(NOIP历年真题)