题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2030
题意:很清楚,就是求汉子的个数。
这里我们要明白的是汉子的机内码是怎么一回事。
其实,汉子机内码在计算机内的表达方式是使用两个字节,每个字节最高位为1,计算机中,补码第一位是符号位,1表示负数,所以汉子机内码的每个字节表示的十进制数都是负数。
参考代码:
#include <stdio.h>
#include <string.h>
int main()
{
int n,i,count;
char a[10000];
scanf("%d%*c",&n);
while(n--)
{
count=0;
gets(a);
for(i=0;a[i]!='\0';i++)
{
if(a[i]<0)
count++;
}
printf("%d\n",count/2);
}
return 0;
}