hdu 2030 汉字统计

来源:互联网 发布:2017怎样申请淘宝网店 编辑:程序博客网 时间:2024/05/11 12:40

题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=2030

汉字统计

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 26998    Accepted Submission(s): 14730


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

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

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

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

 

Sample Input
2WaHaHa! WaHaHa! 今年过节不说话要说只说普通话WaHaHa! WaHaHa!马上就要期末考试了Are you ready?
 

Sample Output
149
 

Author
lcy
 

Source
C语言程序设计练习(五)
 

Recommend
lcy   |   We have carefully selected several similar problems for you:  2058 2071 2057 2090 1013 
 

分析:

    由于汉字是以补码的形式存储的,其最高位为1,而最高位代表的是符号位,因此他是一个负数,我们知道一个字符占用一个字节,而一个汉字占用两个字节,因此例如:str[0]和str[1]存储的是一个汉字,但其每个二进制码所对应的十进制数是负数,因此统计出所有的负数,然后再除以2既得结果!

#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int MAXN = 1010;int main(){    char str[MAXN];    int T;    scanf("%d", &T);    getchar();    while(T--)    {        gets(str);        int iNum = 0, iLen = strlen(str);        for(int i = 0; i < iLen; ++i)            if(str[i] < 0)                iNum++;        printf("%d\n", iNum>>1);    }    return 0;}



0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 蛀牙到牙神经了怎么办 t恤袖子长了怎么办 t恤袖子短了怎么办 ofo突然要交押金余款怎么办 裙子的腰小了怎么办 白衬衣棉质变软怎么办? 车被自行车刮了怎么办 刮花别人的车门怎么办 破腹产九个月意外怀孕怎么办 破腹产一年半意外怀孕怎么办 37天流产了该怎么办 旧鞋穿着磨脚了怎么办 皮鞋磨脚怎么办小窍门 拉链从下面开了怎么办 高帮足球鞋松了怎么办 橡筋裤头太紧了怎么办 内增高鞋跟太高怎么办 电脑增高架高了怎么办 银行取钱走后回来说少了怎么办 运动t桖太大了怎么办 袖口松紧太紧了怎么办 衣服穿着就皱了怎么办 麻料的衣服很皱怎么办 麻料衣服皱了怎么办 棉麻裤子皱了怎么办 裙子屁股坐皱了怎么办 真丝衣服洗皱了怎么办 粘纤的衣服皱了怎么办 硅胶手机壳粘灰怎么办 橡筋裤子买大了怎么办 橡筋裤子腰小了怎么办 地垫粘瓷砖上怎么办 汽车围裙锈透了怎么办 万能胶水沾到手上怎么办 圆领体恤领口容易皱怎么办 上衣剪了个洞怎么办 上衣破了个洞怎么办 鸟屎腐蚀车漆怎么办 毛风衣叠久了怎么办 黑色的衣服沾毛怎么办 雪纺裙子弄上油怎么办