【题目描述】
凯凯刚写了一篇美妙的作文,请问这篇作文的标题中有多少个字符?
注意:标题中可能包含大、小写英文字母、数字字符、空格和换行符。统计标题字符数时,空格和换行符不计算在内。
【输入】
输入只有一行,一个字符串 s。
【输出】
输出只有一行,包含一个整数,即作文标题的字符数(不含空格和换行符)。
【输入样例】
234
【输出样例】
3
【提示】
【样例1说明】
标题中共有 33 个字符,这 33 个字符都是数字字符。
【样例输入2】
Ca 45
【样例输出2】
4
【样例2说明】
标题中共有 55 个字符,包括 11 个大写英文字母,11 个小写英文字母和 22 个数字字符,还有 11 个空格。由于空格不计入结果中,故标题的有效字符数为 44 个。
【数据规模与约定】
规定 |s|表示字符串 s 的长度(即字符串中的字符和空格数)。
对于 40%的数据,1≤|s|≤5,保证输入为数字字符及行末换行符。
对于 80% 的数据,1≤|s|≤5,输入只可能包含大、小写英文字母、数字字符及行末换行符。
对于 100% 的数据,1≤|s|≤5,输入可能包含大、小写英文字母、数字字符、空格和行末换行符。
【解题思路】
解题思路:
-
读取输入:首先,我们需要读取输入的字符串
s
。 -
初始化计数器:创建一个变量
count
来记录有效字符的数量,初始值设为0。 -
遍历字符串:遍历字符串
s
中的每个字符,对于当前字符执行以下操作:- 检查字符是否为空格或换行符。如果是,跳过该字符,不做任何操作。
- 如果字符不是空格或换行符,将
count
的值增加1。
-
输出结果:遍历完成后,输出变量
count
的值,即有效字符的总数。
【代码实现】
#include <iostream>
#include <string>
using namespace std;
int main() {
string s;
// 获取一行输入
getline(cin, s);
int count = 0; // 用于计数有效字符的变量
// 遍历字符串中的每个字符
for (char c : s) {
if (c != ' ' && c != '\n') { // 检查字符是否为有效字符
count++; // 是有效字符,计数加一
}
}
// 输出有效字符的数量
cout << count << endl;
return 0;
}