华师一附中OI组
标题:
P5015 标题统计
[打印本页]
作者:
admin
时间:
2019-3-16 14:58
标题:
P5015 标题统计
题目描述
凯凯刚写了一篇美妙的作文,请问这篇作文的标题中有多少个字符? 注意:标题中可能包含大、小写英文字母、数字字符、空格和换行符。统计标题字 符数时,空格和换行符不计算在内。
输入输出格式
输入格式:
输入文件只有一行,一个字符串 s。
输出格式:
输出文件只有一行,包含一个整数,即作文标题的字符数(不含空格和换行符)。
输入输出样例
输入样例#1:
234
输出样例#1:
3
输入样例#2:
Ca 45
输出样例#2:
4
说明
【输入输出样例 1 说明】
标题中共有 3 个字符,这 3 个字符都是数字字符。
【输入输出样例 2 说明】 标题中共有 5个字符,包括 1 个大写英文字母, 1 个小写英文字母和 2个数字字符, 还有 1 个空格。由于空格不计入结果中,故标题的有效字符数为 4 个。
【数据规模与约定】
规定 |s| 表示字符串 s 的长度(即字符串中的字符和空格数)。
对于 40% 的数据,1 ≤ |s| ≤ 5,保证输入为数字字符及行末换行符。
对于 80% 的数据,1 ≤ |s| ≤ 5,输入只可能包含大、小写英文字母、数字字符及行末换行符。
对于 100% 的数据,1 ≤ |s| ≤ 5,输入可能包含大、小写英文字母、数字字符、空格和行末换行符。
作者:
admin
时间:
2019-10-20 20:01
统计有效字符的数目还好说,这道题的主要难点在于如何把这个含有空格标题读进进去。
有两种方法:一个是使用getline(cin,s)这个函数,另外一个是使用while(cin>>x)这种形式。
想想在哪里还看到了这种读入的方法(乒乓球)
#include <iostream>
using namespace std;
string s;
int main()
{
getline(cin,s);
int l=s.size();
int sum=0;
for (int i=0;i<=l-1;i++)
if (s[i]!=' ') sum++;
cout<<sum;
return 0;
}
复制代码
#include<iostream>
using namespace std;
char x;
int s;
bool isok(char x)
{
bool b1=(x>='A' && x<='Z');
bool b2=(x>='a' && x<='z');
bool b3=(x>='0' && x<='9');
return b1||b2||b3;
}
int main()
{
while (cin>>x) if (isok(x)) s++;
cout<<s;
return 0;
}
复制代码
欢迎光临 华师一附中OI组 (http://hsyit.cn/)
Powered by Discuz! X3.2