Problem Description

统计给定文本文件中汉字的个数。
 
Input
输入文件首先包含一个整数n,表示测试实例的个数,然后是n段文本。
 
Output
对于每一段文本,输出其中的汉字的个数,每个测试实例的输出占一行。

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

Sample Input
2
WaHaHa! WaHaHa! 今年过节不说话要说只说普通话WaHaHa! WaHaHa!
马上就要期末考试了Are you ready?
 
Sample Output
14
9
 
Author
lcy
 
Source
 
Recommend
lcy   |   We have carefully selected several similar problems for you:  2031 2032 2033 2034 2036 
 

  这个题根据提示,主要考虑两个问题就好:
  (1)每个汉字的ASCII码都是小于0的。非汉字都是大于0的。
  (2)每个汉字占用两个字节,即占两个ASCII码,算出的个数是ASCII的个数,所以最后的次数要除以二。
 
  下面详解一下汉字机内码吧,我也是看了别人的才知道。
  因为汉字处理系统要保证中西文的兼容,当系统中同时存在ASCII码和汉字国标码时,将会产生二义性。例如:有两个字节的内容为30H和21H,它既可表示汉字“啊”的国标码,又可表示西文“0”和“!”的ASCII码。为此,汉字机内码应对国标码加以适当处理和变换。国标码的机内码为二字节长的代码,它是在相应国标码的每个字节最高位上加“1”,即汉字机内码=汉字国标码+8080H例如,上述“啊”字的国标码是3021H,其汉字机内码则是B0A1H。(来自百度百科)

  概念:在计算机内部表示汉字的代码。

  特点:汉字内码采用两个字节,一个汉字占两个ASCII字符;汉字内码最高位为1,ASCII码最高位为0

  汉字内码与区位码的关系:

   汉字内码高位字节=(区号)16+(A0)16

   汉字内码低位字节=(位号)16+(A0)16

    例:汉字“啊”的区位码为1601,则其汉字内码为(B0A1)16。

  (来源:https://blog.csdn.net/hurmishine/article/details/49287035)

 
#include <stdio.h>
int main ()
{
int i,n,sum;
char c;
scanf("%d",&n);
getchar();
while (n--)
{
sum = ;
while ( (c= getchar())!= '\n')
{
if (c < )
sum++;
}
printf("%d\n",sum/);
} return ;
}
 

hdu:2030.汉字统计的更多相关文章

  1. HDU 2030 汉字统计(汉字Asics码为负,占两个char)

    传送门: http://acm.hdu.edu.cn/showproblem.php?pid=2030 汉字统计 Time Limit: 2000/1000 MS (Java/Others)    M ...

  2. HDU 2030 汉字统计

    http://acm.hdu.edu.cn/showproblem.php?pid=2030 Problem Description 统计给定文本文件中汉字的个数.   Input 输入文件首先包含一 ...

  3. 题解报告:hdu 2030 汉字统计

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2030 Problem Description 统计给定文本文件中汉字的个数. Input 输入文件首先 ...

  4. HDU 2027 汉字统计

    汉字统计 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  5. HDOJ 2030 汉字统计

    Problem Description 统计给定文本文件中汉字的个数. Input 输入文件首先包含一个整数n,表示测试实例的个数,然后是n段文本. Output 对于每一段文本,输出其中的汉字的个数 ...

  6. HDU 2030 统计汉字

    BestCoder官方群:385386683 欢迎加入~ 寻人启事:2014级新生看过来! 汉字统计 Time Limit: 2000/1000 MS (Java/Others)    Memory ...

  7. hdu 2030 统计汉字个数

    汉字统计 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submis ...

  8. HDOJ2030汉字统计

    汉字统计 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submis ...

  9. 杭电ACM 汉字统计

    汉字统计 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

随机推荐

  1. mongo删除指定字段,可多个字段同时删除

    参考代码: db.getCollection('Person').update({"email":{$exists:true}},{$unset:{"email" ...

  2. iOS 轻击、触摸和手势的检测

    一.检测捏合手势( UIPinchGestureRecognizer):  //设定一个实例变量存储手指之间的其起始距离 @property (assign, nonatomic) CGFloat i ...

  3. 爬虫之requests模块

    requests模块 什么是requests模块 requests模块是python中原生的基于网络请求的模块,其主要作用是用来模拟浏览器发起请求.功能强大,用法简洁高效.在爬虫领域中占据着半壁江山的 ...

  4. 关于JQ中,新生成的节点on绑定事件失效的解决

    老旧的JQ库在做新生成DIV的click事件绑定,需要先绑定其现有的父元素,在追踪到需要事件绑定的子节点上 如以下这段代码$(".t_in").on("click&quo ...

  5. css 制作导航条布局

    代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...

  6. hyperopt自动调参

    hyperopt自动调参 在传统机器学习和深度学习领域经常需要调参,调参有些是通过通过对数据和算法的理解进行的,这当然是上上策,但还有相当一部分属于"黑盒" hyperopt可以帮 ...

  7. 解决挂载nfs共享目录失败的问题

    现象:在192.168.82.131上 启动了nfs服务,并共享了/nfsfile目录,在另一台主机(ip: 192.1168.82.115)挂载的时候一直阻塞 1 初步分析是防火墙拦截导致,于是进行 ...

  8. Address already in use: make_sock: could not bind to address 0.0.0.0:80

    网上查了很多资料都是要杀进程,但是并没有找到占用的进程. 最后解决的方案是在apache配置文件下,去掉Listen 80 即可

  9. vue中计算属性computed方法内传参

    vue中computed计算属性无法直接进行传参 如果有传参数的需求比如说做数据筛选功能可以使用闭包函数(也叫匿名函数)实现 例如: 在上篇博客vue安装使用最后的成绩表练习中的过滤功能的实现: &l ...

  10. zepto.js-定制zepto步骤

    对以上步骤作简单补充 步骤四:在电脑左下角搜索Node.js command prompt 打开这个命令窗口,然后进入zepto-master 即文件存放的位置.也可以直接用cmd进入zepto-ma ...