码迷,mamicode.com
首页 > 其他好文 > 详细

1407291646-hd-汉字统计.cpp

时间:2014-07-29 17:48:12      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:style   使用   io   for   ar   amp   size   har   

/*汉字机内码在计算机的表达方式的描述是,使用二个字节,每个字节最高位一位为1。
  计算机中, 补码第一位是符号位, 1 表示为 负数,
  所以 汉字机内码的每个字节表示的十进制数都是负数
       所以统计输入字符串含有几个汉字,
    只需求出字符串中小于0的字符有几个,将它除以2就得到答案  */
#include<stdio.h>
#include<string.h>
char s[1005000];
int hanzi(char a)
{
 if(~(a>>8)==0)
 //   ~ 按位取反 ,就是使每一位上的 0变 1,1变 0;
 //   >>  右移运算符,右边的整形表达式指定移动的位数
     return 1;
 else
     return 0;
}
int main()
{
 int n;
 int i,len,num;
 scanf("%d",&n);
 getchar();
 while(n--)
 {
  gets(s);
  len=strlen(s);
  num=0;
  for(i=0;i<len;i++)
      if(hanzi(s[i]))
       num++;
  printf("%d\n",num/2);
 }
 return 0;
}

1407291646-hd-汉字统计.cpp,布布扣,bubuko.com

1407291646-hd-汉字统计.cpp

标签:style   使用   io   for   ar   amp   size   har   

原文地址:http://blog.csdn.net/wangluoershixiong/article/details/38273565

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!