汉字统计
Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other)
Total Submission(s) : 54 Accepted Submission(s) : 34
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
统计给定文本文件中汉字的个数。
Input
输入文件首先包含一个整数n,表示测试实例的个数,然后是n段文本。
Output
对于每一段文本,输出其中的汉字的个数,每个测试实例的输出占一行。
[Hint:]从汉字机内码的特点考虑~
[Hint:]从汉字机内码的特点考虑~
Sample Input
2 WaHaHa! WaHaHa! 今年过节不说话要说只说普通话WaHaHa! WaHaHa! 马上就要期末考试了Are you ready?
Sample Output
14 9 C语言程序代码
/*这道题只要明白汉字机内码的特点就很容易了。 汉字机内码在计算机的表达方式的描述是,使用二个字节,每个字节最高位一位为1。 计算机中, 补码第一位是符号位, 1 表示为 负数, 所以 汉字机内码的每个字节表示的十进制数都是负数 统计输入字符串含有几个汉字,只只需求出字符串中小于0的字符有几个,将它除以2就得到答案。*/ /*心德:第一次看到这道题,真是一点思路没有,看了一下学长的解释,顿时明白了。 哎,还是自己水平不行,懂得太少,要继续努力。*/ #include<stdio.h> #include<string.h> int main(){ int n,m,i,j,t,l; char s[100001]; scanf("%d",&t); getchar(); while(t--) { n=0; gets(s); l=strlen(s); for(i=0;i<l;i++) { if(s[i]<0) n++; } printf("%d\n",n/2); } return 0; }