1203: 杨八方的语文问题 [字符串]
时间限制: 1 Sec 内存限制: 128 MB提交: 27 解决: 8
[ 提交][ 状态][ 讨论版]
题目描述
转眼间一学期就将要过去了,杨八方也在大学里经历了许多事情,最难忘的自然是学校里的各色课程。
杨八方很喜欢中国的古典文化,所以当她知道大学有语文课的时候是很开心的。更幸运的是,杨八方的语文老师是位酷酷的男性。
第一次上课的时候语文老师就大谈中国文学,从夏商周一直侃到了现代。语文老师表示最让他受不了的便是现在的一些人,写一段文字非要毫无来头的掺杂一些英文。
现在有一行中英混杂的字符,请计算其中中文字符的个数。
输入
第一行是一个整数 T T,代表有 T T组测试数据。
下面 T T行,每一行有一个只可能包含中文字符、大写字母、小写字母的字符串。
0<T<10 0<T<10
每个字符串最多有100个中英文字符数
输出
对于每组测试数据,输出一行中文字符的个数。
样例输入
3
我爱ACM
But
这题好难
样例输出
2
0
4
提示
可考虑中英文字符的ASCII码。
Windows系统下,一个汉字占2个字节。
OJ运行在Linux系统下,一个汉字占3个字节。
来源
#include<stdio.h>
#include<string.h>
int main() {
char a[400];
int t;
scanf("%d",&t);
while(t--){
memset(a,0,sizeof(a));
scanf("%s",a);
int k=strlen(a);
int sum=0;
for(int i=0;i<k;){
if((a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z'))
{
i=i+1;
continue;}
else {
i=i+3;
sum=sum+1;
}
}
printf("%d\n",sum);
}
return 0;
}