zoukankan      html  css  js  c++  java
  • HDOJ 2030

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

    汉字机内码在计算机的表达方式的描述是,使用二个字节,每个字节最高位一位为1。 
    计算机中, 补码第一位是符号位, 1 表示为 负数, 
    所以 汉字机内码的每个字节表示的十进制数都是负数
    统计输入字符串含有几个汉字,只只需求出字符串中小于0的字符有几个,将它除以2就
    得到答案  
    
     #include<stdio.h>
    #include<string.h>
    int main()
    {
    	int i,j,T;int cnt;
    	char str[4096];
    	scanf("%d%*c",&T);
    	while(T--)
    	{
    		memset(str,0,sizeof(str));
    		cnt=0;i=0;
    		/*可能包含空格*/ 
    		//scanf("%[^\n]",str);,可能与编译器有关,用它就WA啦 
    		gets(str);
    	//	puts(str);
    		/*
    		int len=strlen(str);
    		printf("%d\n",len); 
    		输入“我爱你”,输出6,所以最后需要除2
    		*/ 
    		/*
    		不是'\n' ,且根据while循环性质,自增需要写在循环内部
    		*/ 
    		while(str[i]!='\0')
    		{
    			if(str[i]<0)
    				cnt++;
    				i++;
    		}
    		printf("%d\n",cnt>>1);
    	}
    	return 0;
    }
    
    
    /*
    注意:\n是换行
    \0是终结字符,例如一个字符串的终结。 所以用gets读入字符串时
    用 while(str[i]!='\0')结尾 ,而用ch=getchar()时,要用'\n'结尾
    */   
    
  • 相关阅读:
    C# 多线程编程及其几种方式
    多态有几种表现形式
    闭包的理解
    C# 泛型类型约束 where
    HTML扩展--HTMLTestRuner HTML测试报告
    编写web自动化测试
    unittest单元测试框架之认识unittest
    自动化测试模型
    处理HTML5视频播放、滑动解锁
    操作Cookie调用JavaScript
  • 原文地址:https://www.cnblogs.com/hxsyl/p/2560109.html
Copyright © 2011-2022 走看看