下面的程序实现了统计一行输入中的汉字数量:
// 汉字机内码在计算机的表达方式的描述是,使用二个字节,每个字节最高位一位为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;
}
转载于:https://blog.51cto.com/beyond316/1256063