你好,怎么用c语言统计任意文本中所有汉字的个数呢?谢谢你啦!

Python014

你好,怎么用c语言统计任意文本中所有汉字的个数呢?谢谢你啦!,第1张

以下的程序实现了这个功能:

以输入一个空行作为输入结束的标志:

#include <stdio.h>

int main()

{ char s[300]

int i,n=0

gets(s)

while(s[0])

{for(i=0s[i]i++)

   if(s[i]<0)n++,i++

gets(s)

}

printf("上面输入的内容中有%d个汉字\n",n)

return 0

}

C中的汉字用“机内码”,一个汉字两字节,最高位都是1,所以可以用下列代码求得一个字符串里汉字的个数:

//#include "stdafx.h"//If the vc++6.0, with this line.

#include "stdio.h"

int main(void){

    char a[]="12我34们56都7是来自五a湖c四de海bfg"

    int i,sum

    for(sum=i=0a[i]i++)

        if(a[i]<0) sum++//最高位为1(负数)的是一个汉字的一半

    printf("There are %d Chinese characters in this string.\n",sum/2)//输出汉字总数

    return 0

}