统计一行输入中有多少个汉字

下面的程序实现了统计一行输入中的汉字数量:

// 汉字机内码在计算机的表达方式的描述是,使用二个字节,每个字节最高位一位为1。
//计算机中, 补码第一位是符号位, 1 表示为 负数,
//所以 汉字机内码的每个字节表示的十进制数都是负数
//统计输入字符串含有几个汉字,只需求出字符串中小于0的字符有几个,将它除以2就得到答案
//统计一行输入中有多少个汉字
#include<iostream>
#include<string.h>
using namespace std;
#define N 1000
char str[N];
int main(){
    int n;
    int len;
    int i;
    int count;
    cin>>n;
    cin.ignore(); 
    while(n--){
        memset(str,'0',N*sizeof(char));
        gets(str);
        count=0;
        len=strlen(str);
        for(i=0;i<len;++i)
            if(str[i]<0)
                count++;
        cout<<count/2<<endl;
    }
    return 0;
}


你可能感兴趣的:(汉字机内码)