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

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

Sample Output

14
9

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,而且一个汉字占两个字节,因此还得将终于结果除以二
*/ 
时间: 2024-10-10 20:49:09

HDU 2027 汉字统计的相关文章

hdu 2030 汉字统计 (java)

问题: java判断中文比较复杂. 汉字统计 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 29746    Accepted Submission(s): 16314 Problem Description 统计给定文本文件中汉字的个数. Input 输入文件首先包含一个整数n,表示测试实例的个数,然后是n段文本. Output 对

hdu 2030 汉字统计

本题链接:点击打开链接 本题大意: 求所输入字符串中汉字的个数. 本题思路: 在做此题时我也不知道汉子在计算机中是怎么存放的,经过查找资料知道,汉字是没有ASCΙΙ码的,汉字在计算机中使用两个字节存放,并且每个字节的最高位都是1,而在计算机中,字节最高位为符号位,1表示负数,故汉字机内码每个字节表示的十进制都是负数,所以需统计的便是有多少负数了,又因为每个汉字占两个字节,故可采取相应措施. 参考代码: #include<stdio.h> #include<string.h> cha

HDOJ 2030 汉字统计(借此题来谈谈ASCII码与汉字机内码)

ASCII码与汉字机内码: 在做HDOJ 2030 汉字统计一题中在讨论区看到有楼主发帖说汉字的ASCII码值为负数.但书中的ASCII码的范围又是0-255(其中0--127是国际通用标准码,128--255是拓展码). 经过请教大牛与查阅资料得,汉字并没有ASCII码,汉字是又机内码表示的,即ansi编码,是系统根据当前地区然后确定的当地编码,例如大陆的ansi编码就代表 国标码GBK编码.各个地区之间的机内码是有差异的. 汉字机内码在计算机的表达方式的描述是,使用二个字节,每个字节最高位一

HDOJ 汉字统计

汉字统计 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 28458    Accepted Submission(s): 15579 Problem Description 统计给定文本文件中汉字的个数. Input 输入文件首先包含一个整数n,表示测试实例的个数,然后是n段文本. Output 对于每一段文本,输出其中的汉字的个数,

HDU 4909 String 统计+状压

因为连续异或满足区间减法性质,所以可以状压之后用异或来判断是否为符合条件的单词并且存储次数 一开始用map,一直超时.虽然直接用开1<<26的数组内存存的下,但是memset的时间肯定会超,但是只要在每次循环之后把加过的值减掉就可以绕过memset了. #include <cstdio> #include <cstring> #include <cmath> #include <algorithm> #include <climits>

HDU 2008 数值统计

数值统计 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 53462    Accepted Submission(s): 27366 Problem Description 统计给定的n个数中,负数.零和正数的个数. Input 输入数据有多组,每组占一行,每行的第一个数是整数n(n<100),表示需要统计的数值的个数,然后是n个实数

hdu 2027 统计元音

统计元音 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 58391    Accepted Submission(s): 23254 Problem Description 统计每个元音字母在字符串中出现的次数. Input 输入数据首先包括一个整数n,表示测试实例的个数,然后是n行长度不超过100的字符串. Output 对于每个测

hdu 2027 统计元音 (java)

问题: 注意for循环中参数,不要搞混了. 注意空行和换行的区别,题目是讲的不空行,但还是要进行换行. 统计元音 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 45831    Accepted Submission(s): 18695 Problem Description 统计每个元音字母在字符串中出现的次数. Input 输入数

HDU——T 1251 统计难题

http://acm.hdu.edu.cn/showproblem.php?pid=1251 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131070/65535 K (Java/Others)Total Submission(s): 43831    Accepted Submission(s): 15708 Problem Description Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有