题目描述
凯凯刚写了一篇美妙的作文,请问这篇作文的标题中有多少个字符?注意:标题中可能包含大、小写英文字母、数字字符、空格和换行符。统计标题字符数时,空格和换行符不计算在内。
输入格式:
输入只有一行,一个字符串 s。
输出格式:
输出只有一行,包含一个整数,即作文标题的字符数(不含空格和换行符)。
输入输出样例:
输入样例#1:
234
输出样例#1:
3
输入样例#2:
Ca 45
输出样例#2:
4
说明:
【输入输出样例 1 说明】
标题中共有 3 个字符,这 3 个字符都是数字字符。
【输入输出样例 2 说明】
标题中共有4个字符,包括1个大写英文字母,1个小写英文字母和2个数字字符,还有1个空格。由于空格不计入结果中,故标题的有效字符数为4个。
【数据规模与约定】
规定∣s∣表示字符串 s 的长度(即字符串中的字符和空格数)。
对于 40% 的数据,1≤∣s∣≤5,保证输入为数字字符及行末换行符。
对于 80% 的数据,1≤∣s∣≤5,输入只可能包含大、小写英文字母、数字字符及行末换行符。
对于 100% 的数据,1≤∣s∣≤5,输入可能包含大、小写英文字母、数字字符、空格和行末换行符。
这题的else if比较绕 需要注意
#include <iostream> #include <cstring> using namespace std; int main() { string s; getline(cin,s); int cnt = 0; if(s[i] >= '0' && s[i] <= '9') { if(s[i] >= '0' && s[i] <= '9') { cnt++; } else if(s[i] >= 'a' && s[i] <= 'z') { cnt++; } else if(s[i] >= 'a' && s[i] <= 'z') { cnt++; } } cout << cnt << endl; return 0; }