最新消息:

2018年NOIP普及组复赛第1题—标题统计

C++ 少儿编程 1710浏览 0评论
2018年NOIP普及组复赛第1题—标题统计
问题描述

       凯凯刚写了一篇美妙的作文,请问这篇作文的标题中有多少个字符?

       注意:标题中可能包含大、小写英文字母、数字字符、空格和换行符。统计标题字符数时,空格和换行符不计算在内。

【输入格式】

只有一行,一个字符串 s。

【输出格式】

只有一行,包含一个整数,即作文标题的字符数(不含空格和换行符)。

【输入样例1】

234

【输出样例1】

3

【输入样例2】

Ca 45

【输出样例2】

4

【数据规模与约定】

规定 |s| 表示字符串 s 的长度(即字符串中的字符和空格数)。

对于 40% 的数据,1 ≤ |s| ≤ 5,保证输入为数字字符及行末换行符。

对于 80% 的数据,1 ≤ |s| ≤ 5,输入只可能包含大、小写英文字母、数字字符及行末换行符。

对于 100% 的数据,1 ≤ |s| ≤ 5,输入可能包含大、小写英文字母、数字字符、空格和行末换行符。

2018年NOIP普及组复赛第1题—标题统计
知识总结回顾

1:输入带空格的字符串

(1)使用char数组存储:

        例如:  char s[100];  cin.getline(s,100);

(2)使用string类存储: 

        例如:  string s;      getline(cin,s);

当然还有其它的方法如getchar()等,大家可以根据自己的习惯选择合适的方法。

2:大写字符的判定条件

s[i] >= ‘A’ && s[i] <= ‘Z’或者s[i] >= 65 && s[i] <= 90

3:小写字符的判定条件

s[i] >= ‘a’ && s[i] <= ‘z’或者s[i] >= 97 && s[i] <= 122

4:数字字符的判定条件

s[i] >= ’0′ && s[i] <= ’9′或者s[i] >= 48 && s[i] <= 57

2018年NOIP普及组复赛第1题—标题统计
问题分析

       输入带空格的字符串,循环遍历字符串中的每个字符,判断是否满足大写、小写、数字字符的条件,如果满足计数变量累加。

2018年NOIP普及组复赛第1题—标题统计
AC完整代码

 

2018年NOIP普及组复赛第1题—标题统计

转自公众号:
信息学少儿编程

您必须 登录 才能发表评论!