HDU 2030 汉字统计

HDU 2030 汉字统计

 

按照提示,学习了汉字机内码,其实特点就是高位为1,所以将一个字节转成整形的时候,会小于0

有个坑查了半天,读取字符串时不能用scanf,因为使用scanf的话就读不到空格了!!!要使用gets!!!

#include <stdio.h>
#include <iostream>
#include <math.h>

using namespace std;

void main()
{
	int n;
	char str[10000];
	scanf("%d",&n);
	getchar();
	while(n--)
	{
		gets(str);//这里用scanf("%s",str);部分用例会出错
		int cnt = 0;
		for(int i = 0;i < strlen(str);i++)
		{
			int a = str[i];
			if(a<0)
				cnt++;
		}
		printf("%d\n",(cnt+1)/2);
		memset(str,'\0',sizeof(str));
	}

}