• HDOJ2030汉字统计


    汉字统计

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


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

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

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

     解题报告:

    汉字机内码在计算机的表达方式的描述是,使用二个字节,每个字节最高位一位为1. 
    计算机中,补码第一位是符号位,1 表示为负数,所以 汉字机内码的每个字节表示的十进制数都是负数  
    所以这题也就可以简化为输入字符串判断其中字符转化为十进制数是否小于零.
    注意:汉字是有两个小于零的字符组成,所以在统计结果的时候就要将count除以2了.

    getchar()相当于getch(stdin),getchar()返回值为输入字母的ascii码

    什么是汉字机内码?

    答:机内码,就是用二个字节,最高位为1,用它来表示一个汉字,在用到这个字时,系统按这个编号去找它的点阵信息,然后把它显示出来

     1 #include<stdio.h>
     2 int main()
     3 {
     4     char c;
     5     int n, count;
     6     scanf("%d", &n);
     7     getchar();
     8     while(n--)
     9     {
    10         count = 0;
    11         while((c = getchar()) != '
    ')
    12             {
    13                 if(c < 0)
    14                     count++;
    15             }
    16             printf("%d
    ", count/2);
    17     }
    18     return 0;
    19 }
  • 相关阅读:
    chrome shortkeys
    五笔xu
    getline()报错解决办法
    PCA程序
    c++矩阵运算库Eigen
    yolo接口
    遇到的编译错误及解决办法
    visual studio command window的使用
    NDK+MSYS2+Android sdk编译opencv源码
    面向对象分析与设计笔记(三)
  • 原文地址:https://www.cnblogs.com/la0bei/p/3652974.html
Copyright © 2020-2023  润新知