您的位置:首页 > 其它

杭电OJ2030-汉字统计

2016-07-20 07:54 337 查看
Problem Description

统计给定文本文件中汉字的个数。

Input

输入文件首先包含一个整数n,表示测试实例的个数,然后是n段文本。

Output

对于每一段文本,输出其中的汉字的个数,每个测试实例的输出占一行。

[Hint:]从汉字机内码的特点考虑~

Sample Input

2

WaHaHa! WaHaHa! 今年过节不说话要说只说普通话WaHaHa! WaHaHa!

马上就要期末考试了Are you ready?

Sample Output

14

9

我的代码:

#include <iostream>
#include <string>
using namespace std;
int main()
{
int n,t;
string s;
cin>>n;
getchar();
while(n--)
{
getline(cin,s);
t=0;
for(int i=0;i<=s.length();i++)
{
if(s[i]<=256 && s[i]>=0)
t++;
}
cout<<(s.length()-t+1)/2<<endl;
}
return 0;
}


最开始的思路是统计除了ASCⅡ码0-256之外的字符。但是结果输出是0

然后才统计ASCⅡ码0-256内的字符,用s的长度减去,并且一个中文占两个字符,所以要除以二,要+1防止除2后被强转成int改变值的大小。

虽说是很简单的一道题,还是值得记下来。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: