HDU_oj_2030 汉字统计

本文介绍了一种通过判断字符编码特点来统计文本文件中汉字数量的方法,并提供了一个简单的C++实现示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 }

 

转载于:https://www.cnblogs.com/tenjl-exv/p/8000547.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值