统计给定文本文件中汉字的个数。
input
输入文件首先包含一个整数n,表示测试实例的个数,然后是n段文本。
Output
对于每一段文本,输出其中的汉字的个数,每个测试实例的输出占一行。
[Hint:]从汉字机内码的特点考虑~
汉字机内码可以理解为ascll码,需注意的是一个汉字占两个字节,且对应ascll码值为负。
#include<stdio.h>
#include<string.h>
int main()
{
int n,i,j,count,len;
char str[10][100];
while(scanf("%d",&n) != EOF) //循环输入
{
getchar();//解决回车对gets的影响(下面也可用scanf,无需getchar,但scanf无法读取空格)
for(i=0; i<n; i++) //输入文本字符串
{
gets(str[i]);
}
for(i=0; i<n; i++)
{
count = 0;
len = strlen(str[i]);
for(j=0; j<len; )
{
if(str[i][j]<0) //判断是否为汉字
{
count++;
j += 2;
}
else
j++;
}
printf("%d\n",count);
}
}
return 0;
}