杭电oj2030

汉字统计

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


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

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

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

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

 

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

Sample Output
 
  
14 9
 

Author
lcy
 

Source
 

Recommend
lcy   |   We have carefully selected several similar problems for you:   2031  2032  2026  2024  2029 
 
答案:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>


void main()
{
int n;
int i;
char str[1000];
int sum;
scanf("%d\n",&n);
while(n--)
{
memset(str,'\0',sizeof(str));//将字符数组置空
sum = 0;
gets(str);//获取屏幕上的一行数据
for(i=0;str[i]!='\0';i++)
{
if(str[i]<32||str[i]>126)//32到126为可见字符,非可见字符即为汉子
sum++;
}
printf("%d\n",(sum+1)/2);
}
}

猜你喜欢

转载自blog.csdn.net/huqiaolong/article/details/80382570