Problem Description
统计给定文本文件中汉字的个数。
Input
输入文件首先包含一个整数n,表示测试实例的个数,然后是n段文本。
Output
对于每一段文本,输出其中的汉字的个数,每个测试实例的输出占一行。
[Hint:]从汉字机内码的特点考虑~
Sample Input
2
WaHaHa! WaHaHa! 今年过节不说话要说只说普通话WaHaHa! WaHaHa!
马上就要期末考试了Are you ready?
Sample Output
14
9
分析:
在unicode编码中,汉字为两个字节,且每个字节为高位为1
在 UTF-8 UTF-16中则没有这条规律
注意点:
最后一个输出数据后有空行
数组尽量开到1000以上
1 #include<iostream> 2 //#include<cstring> 3 using namespace std; 4 5 int main() 6 { 7 int n,cnt; 8 char *ps,s[1000]; 9 cin>>n; 10 getchar(); 11 while(n--) 12 { 13 gets(s); 14 ps=s;cnt=0; 15 while(*ps != ‘\0‘) 16 { 17 if(*ps<0) 18 cnt++; 19 ps++; 20 } 21 cout<<cnt/2<<endl; 22 } 23 }
时间: 2024-10-12 07:31:50