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

    BestCoder官方群:385386683 欢迎加入~
    寻人启事:2014级新生看过来!

    汉字统计

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


    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—— 一个汉字在字符串中是以两个负的字符形式存储,所以本题只要把字符串中负字符的个数找出来,再除以2 就OK了。

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

    #include<stdio.h>
    #include<string.h>
    int main()
    {
    int n;
    int i,j;
    char str[1050];
    int num;
    int len;
    while(scanf("%d",&n)!=EOF)
    {
       gets(str);  
       while(n--)
       {
        num=0;
        gets(str);
        len=strlen(str);
        for(i=0;i<len;i++)
        if(str[i]<0)
        num++;
        printf("%d
    ",num/2);
       
       }
    }
    
    return 0;
    }




    1—— 一个汉字在字符串中是以两个负的字符形式存储,所以本题只要把字符串中负字符的个数找出来,再除以2 就OK了。

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

  • 相关阅读:
    HTML5标签变化
    接口测试基础入门学习
    1.1Axure简介
    win 7命令行大全
    程序集强签名
    源代码的文件头格式化
    redmine2.3环境搭建
    静态成员和方法的使用场合及利弊分析
    .Net Memory Profiler入门
    TransactionScope类
  • 原文地址:https://www.cnblogs.com/zy691357966/p/5480479.html
Copyright © 2011-2022 走看看