首页 > 代码库 > HDU 2027 汉字统计

HDU 2027 汉字统计

汉字统计

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 30230    Accepted Submission(s): 16588


Problem Description
统计给定文本文件里汉字的个数。
 

Input
输入文件首先包括一个整数n,表示測试实例的个数,然后是n段文本。
 

Output
对于每一段文本。输出当中的汉字的个数。每一个測试实例的输出占一行。

[Hint:]从汉字机内码的特点考虑~

 

Sample Input
2WaHaHa! WaHaHa! 今年过节不说话要说仅仅说普通话WaHaHa! WaHaHa!立即就要期末考试了Are you ready?

 

Sample Output
149
 

Author
lcy
 

Source
C语言程序设计练习(五)

思路:

                 由于一个汉字由两个字符组成而且组成汉字的字符相应的ascii码都是负的。故将统计的结果除以2即可了!

代码:

/* ***************************************************************************  **** **文件名称:HDU2027201507231707**创建人:杜新新 **日  期:2015年7月23日17:07:25 **功能描写叙述:统计给定文本中汉字的个数 **版  本 :Dev c++  **改动人:杜新新 **改动内容:**日 期:**** ******************************************************************************   */  #include <stdio.h>#include <string.h>int main(){	char a[1000];	int n,i,j,k,t;	scanf("%d",&n);	getchar();	while(n--)	{		gets(a);		t=strlen(a);		for(i=0,j=0;i<t;i++)		{			if(a[i]<0)			   j++;		}		printf("%d\n",j/2);	}	return 0;}/*由于汉字的最高位是1,而且一个汉字占两个字节,因此还得将终于结果除以二 */ 


 

HDU 2027 汉字统计