题目描述
凯凯刚写了一篇美妙的作文,请问这篇作文的标题中有多少个字符? 注意:标题中可能包含大、小写英文字母、数字字符、空格和换行符。统计标题字符数时,空格和换行符不计算在内。
输入格式
输入文件只有一行,一个字符串 ss。
输出格式
输出文件只有一行,包含一个整数,即作文标题的字符数(不含空格和换行符)。
样例
输入数据#1
Love makes the world go around
Copy
输出数据#1
25
Copy
解释#1
标题中共有 30 个字符,其中 25 个字符是标题字符。
输入数据#2
Ca 45
Copy
输出数据#2
4
Copy
解释#2
标题中共有 5 个字符,包括 1 个大写英文字母, 1 个小写英文字母和 2 个数字字符, 还有 1 个空格。由于空格不计入结果中,故标题的有效字符数为 4 个。
数据范围
- 规定 |s|∣s∣ 表示字符串 ss 的长度(即字符串中的字符和空格数)。
- 对于 40% 的数据,1 ≤ |s| ≤ 51≤∣s∣≤5,保证输入为数字字符及行末换行符。
- 对于 80% 的数据,1 ≤ |s| ≤ 51≤∣s∣≤5,输入只可能包含大、小写英文字母、数字字符及行末换行符。
- 对于 100% 的数据,1 ≤ |s| ≤ 51≤∣s∣≤5,输入可能包含大、小写英文字母、数字字符、空格和行末换行符。
方法一:
#include<bits/stdc++.h>
using namespace std;
char s;
int n=0;
int main()
{
while(cin>>s)//字符串题目的字符做法,利用while(cin)结构依次输入
{
if(s!=' ')
{
n++;
}
}
cout<<n;
}
方法二:getline读入整个字符串
#include<bits/stdc++.h>
using namespace std;
int main()
{
string s;
int i,ans=0;
getline(cin,s);
for(i=0;i<s.size();i++)
{
if(s[i]!=' ')
ans++;
}
cout<<ans;
}