zoukankan      html  css  js  c++  java
  • 汉字统计

    一个汉字在字符串中是以两个负的字符形式存储,汉字的每个字节都是<0的,所以本题只要把字符串中负字符的个数找出来,再

    除以2 就OK了。

    汉字机内码在计算机的表达方式的描述是,使用二个字节,每个字节最高位一位为1。
    计算机中, 补码第一位是符号位, 1 表示为 负数, 所以 汉字机内码的每个字节表示的十进制数都是负数

     

     

     

     

     

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


     

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


     

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

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

     


     

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


     

    Sample Output
    14 9

     

     

     

     

     

     

     

     

    #include<stdio.h>
    #include<string.h>
    char str[100000];
    int main()
    {
        int n, i ;
     
        while( scanf( "%d%*c", &n ) == 1 )
        {
              int len, count;
              while( n-- )
              {
                     gets( str );
                     count = 0;
                     len = strlen( str );
                     for( i = 0; i < len; i++ )
                       {
                            if( str[i] < 0 )
                            {
                              count++;
                              i++;
                            }
                       }
                       printf( "%d\n", count );
              }
             
        }
         
    }

  • 相关阅读:
    利用NewID()生成随机数
    ie下取得iframe里面内容
    [转]linux下动态库安装问题
    【转】基于OpenCV的人脸识别设计方案
    [转]Vim中的记录功能
    [转]opencv中facedetect例子浅析
    [转]vc中 error LNK2001:unresolved external symbol _WinMain@16的解决方法
    转VS2010解决方案转换到VS2008
    JavaScript面向对象程序设计(8): 优雅的封装还是执行的效率?
    用DLL生成LIB文件
  • 原文地址:https://www.cnblogs.com/zsj576637357/p/2250518.html
Copyright © 2011-2022 走看看