#include <stdio.h>
int length(char a[]) //要善用指针
{
char *ch = a;
int c = 0;
while(*ch != '\0')
{
c++;
ch++;
}
return c;
}
int main()
{
int n;
char a[10000];
scanf("%d", &n);
getchar();
while(n--) {
gets(a);
int len = length(a);
int c = 0;
for(int i = 0; i < len; i++)
{
if(a[i] < 0)
c++;
}
printf("%d\n", c/2);
}
return 0;
}
TIP
首先介绍汉字机内码,请阅读《百度百科–汉字机内码》
汉字机内码在计算机的表达方式的描述是,使用二个字节,每个字节最高位一位是1。计算机中,补码第一位是符号位,1表示为负数,所以汉字内码的每个字节表示的十进制数都是负数。统计输入字符串含有几个汉字,只需求出字符串中小于0的字符有几个,将它除以2就得到答案。