HDOJ2030 汉字统计 (汉字机内码特点)

这道题只要明白汉字机内码的特点就很容易了。

汉字机内码在计算机的表达方式的描述是,使用二个字节,每个字节最高位一位为1。 
计算机中, 补码第一位是符号位, 1 表示为 负数,
所以 汉字机内码的每个字节表示的十进制数都是负数
统计输入字符串含有几个汉字,只只需求出字符串中小于0的字符有几个,将它除以2就得到答案。


Post Code:

#include<iostream>
using namespace std;

int main(){
    //freopen("input.txt","r",stdin);
    //freopen("output.txt","w",stdout);
    int n,count;
    char str[1000];
    scanf("%d",&n);
    getchar();
    while(n--){
            count=0;
            gets(str);
            for(int i=0;i<strlen(str);i++){
                  if(str[i]<0)
                      count++;
                  }
            printf("%d\n",count/2);
            }
    return 0;
    }



你可能感兴趣的:(HDOJ2030 汉字统计 (汉字机内码特点))