码迷,mamicode.com
首页 > 其他好文 > 详细

hdu2030汉字统计

时间:2018-10-04 10:06:10      阅读:103      评论:0      收藏:0      [点我收藏+]

标签:line   ret   pac   ignore   int   有一个   gb2312   using   编码方式   

  • ASCII码占一个字节,汉字不是用ASCII码编码的,一般有GBK2312和UTF-8等编码方式,他们都占2个字节。

 
  • 每个键盘上的键值及字符 在ASC码中都有一个对应,而每个汉字由2个ASC码对应。首字节高位是1的,可能是汉字编码,或者反过来说,汉字编码两个字节的高位为1。ASCII高位为0。

  • 汉字编码范围(GB2312),第一字节 第二字节,0xB0-0xF7(176-247) 0xA0-0xFE(160-254)

  • ascll码范围 0-127,可以看出对于汉字,无论第一个字节还是第二个字节,第一位都是1而ascll码的第一位是0。

  • /*国标码的机内码为二字节长的代码,它是在相应国标码的每个字节最高位上加“1”,即
    汉字机内码=汉字国标码+8080H
    */
    
    #include<iostream>
    #include<stdio.h>
    #include<string.h>
    #include<algorithm>
    #include<math.h>
    using namespace std;
    int main()
    {
        string str;
        int n,sum;
        while(cin>>n)
        {
            cin.ignore();
            while(n--)
            {
                getline(cin,str);
                sum = 0;
                for(int i = 0;str[i]!=\0;i++)
                {
                    if(str[i]<0)
                    sum++;
                }
                cout<<sum/2<<endl;
            }
        }
        return 0;
    }

     

hdu2030汉字统计

标签:line   ret   pac   ignore   int   有一个   gb2312   using   编码方式   

原文地址:https://www.cnblogs.com/lyqf/p/9740844.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!