C中的汉字用“机内码”,一个汉字两字节,最高位都是1,所以可以用下列代码求得一个字符串里汉字的个数:
#include<stdio.h>
#include<string.h>
int main()
{
char s[1000];
int cn,i,all;
while(scanf("%d",&cn)!=EOF)
{
getchar();
while(cn)
{
gets(s);
cn–;
all=0;
for(i=0;i<strlen(s);i++)
if(s[i]<0) //最高位为1(负数)的是一个汉字的一半
all++;
printf("%d\n",all/2); //汉字以两个字节存储,所以再除二
}
}
return 0;
}
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/114931.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...