一个汉字在字符串中是以两个负的字符形式存储,汉字的每个字节都是<0的,所以本题只要把字符串中负字符的个数找出来,再
除以2 就OK了。
汉字机内码在计算机的表达方式的描述是,使用二个字节,每个字节最高位一位为1。
计算机中, 补码第一位是符号位, 1 表示为 负数, 所以 汉字机内码的每个字节表示的十进制数都是负数
[Hint:]从汉字机内码的特点考虑~
#include<stdio.h>
#include<string.h>
char str[100000];
int main()
{
int n, i ;
while( scanf( "%d%*c", &n ) == 1 )
{
int len, count;
while( n-- )
{
gets( str );
count = 0;
len = strlen( str );
for( i = 0; i < len; i++ )
{
if( str[i] < 0 )
{
count++;
i++;
}
}
printf( "%d\n", count );
}
}
}