杭电2030 汉字统计

  链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=2030

  题目思路:

  1—— 一个汉字在字符串中是以两个负的字符形式存储,所以本题只要把字符串中负字符的个数找出来,再

除以2 就OK了。

  2——汉字机内码在计算机的表达方式的描述是,使用二个字节,每个字节最高位一位为1。 
计算机中, 补码第一位是符号位, 1 表示为 负数, 所以 汉字机内码的每个字节表示的十进制数都是负数。

代码:

#include <iostream>
#include<math.h>
#include <iomanip>
#include<cstdio>
#include<string>
#include<map>
#include<vector>
#include<list>
#include<algorithm>
#include<stdlib.h>
#include<iterator>
using namespace std;

int main()
{
    int n;
    cin>>n;
    cin.get();
    while(n--)
    {
      string input;
      getline(cin,input);
      int sum=0;
      int len=input.size();

      for(int i=0;i<len;i++)
      {
          if((input[i])<0)
          {
              sum++;
          }
      }
      cout<<sum/2<<endl;

    }

    return 0;
}
时间: 2024-12-29 03:42:53

杭电2030 汉字统计的相关文章

HDOJ 2030 汉字统计(借此题来谈谈ASCII码与汉字机内码)

ASCII码与汉字机内码: 在做HDOJ 2030 汉字统计一题中在讨论区看到有楼主发帖说汉字的ASCII码值为负数.但书中的ASCII码的范围又是0-255(其中0--127是国际通用标准码,128--255是拓展码). 经过请教大牛与查阅资料得,汉字并没有ASCII码,汉字是又机内码表示的,即ansi编码,是系统根据当前地区然后确定的当地编码,例如大陆的ansi编码就代表 国标码GBK编码.各个地区之间的机内码是有差异的. 汉字机内码在计算机的表达方式的描述是,使用二个字节,每个字节最高位一

hdu 2030 汉字统计 (java)

问题: java判断中文比较复杂. 汉字统计 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 29746    Accepted Submission(s): 16314 Problem Description 统计给定文本文件中汉字的个数. Input 输入文件首先包含一个整数n,表示测试实例的个数,然后是n段文本. Output 对

杭电acm2030--汉字统计

汉字统计 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 22508    Accepted Submission(s): 12255 Problem Description 统计给定文本文件中汉字的个数. Input 输入文件首先包含一个整数n,表示测试实例的个数,然后是n段文本. Output 对于每一段文本,输出其中的汉字的个数,每

关于查看汉字多少的计算方法 杭电2030

Problem Description 统计给定文本文件中汉字的个数. Input 输入文件首先包含一个整数n,表示测试实例的个数,然后是n段文本. Output 对于每一段文本,输出其中的汉字的个数,每个测试实例的输出占一行. [Hint:]从汉字机内码的特点考虑~ Sample Input 2 WaHaHa! WaHaHa! 今年过节不说话要说只说普通话WaHaHa! WaHaHa! 马上就要期末考试了Are you ready? #include<stdio.h>#include<

hdu 2030 汉字统计

本题链接:点击打开链接 本题大意: 求所输入字符串中汉字的个数. 本题思路: 在做此题时我也不知道汉子在计算机中是怎么存放的,经过查找资料知道,汉字是没有ASCΙΙ码的,汉字在计算机中使用两个字节存放,并且每个字节的最高位都是1,而在计算机中,字节最高位为符号位,1表示负数,故汉字机内码每个字节表示的十进制都是负数,所以需统计的便是有多少负数了,又因为每个汉字占两个字节,故可采取相应措施. 参考代码: #include<stdio.h> #include<string.h> cha

HDoj 2030 汉字统计

Problem Description 统计给定文本文件中汉字的个数. Input 输入文件首先包含一个整数n,表示测试实例的个数,然后是n段文本. Output 对于每一段文本,输出其中的汉字的个数,每个测试实例的输出占一行. [Hint:]从汉字机内码的特点考虑~ Sample Input 2 WaHaHa! WaHaHa! 今年过节不说话要说只说普通话WaHaHa! WaHaHa! 马上就要期末考试了Are you ready? Sample Output 14 9 Author lcy

杭电 HDU 1235 统计同成绩学生人数

统计同成绩学生人数 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 15134    Accepted Submission(s): 8824 Problem Description 读入N名学生的成绩,将获得某一给定分数的学生人数输出. Input 测试输入包含若干测试用例,每个测试用例的格式为 第1行:N 第2行:N名学生的成绩,相

杭电oj1860:统计字符(字符串hash / 水题)

统计字符 题目链接 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Problem Description 统计一个给定字符串中指定的字符出现的次数 Input 测试输入包含若干测试用例,每个测试用例包含2行,第1行为一个长度不超过5的字符串,第2行为一个长度不超过80的字符串.注意这里的字符串包含空格,即空格也可能是要求被统计的字符之一.当读到'#'时输入结束,相应的结果不要输出.

字符串统计(杭电2017)

/*字符串统计 Problem Description 对于给定的一个字符串,统计其中数字字符出现的次数. Input 输入数据有多行,第一行是一个整数n,表示测试实例的个数,后面跟着n行,每行包括一个由字母和数字组成的字符串. Output 对于每个测试实例,输出该串中数值的个数,每个输出占一行. Sample Input 2 asdfasdf123123asdfasdf asdf111111111asdfasdfasdf Sample Output 6 9 */ #include<cstdi