Description
统计给定文本文件中汉字的个数。(中文符号也算作汉字,数据保证除了中文,英文没有其他语言)
Input
输入文件首先包含一个整数n,表示测试实例的个数,然后是n段文本。
Output
对于每一段文本,输出其中的汉字的个数,每个测试实例的输出占一行。
Sample Input
2
WaHaHa! WaHaHa! 今年过节不说话要说只说普通话WaHaHa! WaHaHa!
马上就要期末考试了Are you ready?
Sample Output
14
9
Hint
从汉字机内码的特点考虑~
解题思路:
Description
汉字是两个字节,且最高位是1。知道这个,后面的就比较简单了
#include<iostream>
#include<string>
using namespace std;
int cacHan(string str)
{
int len = str.length();
int sum = 0;
for(int i=0;i<len;++i)
{
if(str[i]&128)
{
++i;
++sum;
}
}
return sum;
}
int main()
{
int caseN;
cin>>caseN;
string str;
getline(cin,str);
for(int m=0;m<caseN;++m)
{
getline(cin,str);
cout<<cacHan(str)<<endl;
}
return 0;
}
最后欢迎大家访问我的个人网站: 1024s