杭电OJ2030-汉字统计
2016-07-20 07:54
337 查看
Problem Description
统计给定文本文件中汉字的个数。
Input
输入文件首先包含一个整数n,表示测试实例的个数,然后是n段文本。
Output
对于每一段文本,输出其中的汉字的个数,每个测试实例的输出占一行。
[Hint:]从汉字机内码的特点考虑~
Sample Input
2
WaHaHa! WaHaHa! 今年过节不说话要说只说普通话WaHaHa! WaHaHa!
马上就要期末考试了Are you ready?
Sample Output
14
9
我的代码:
最开始的思路是统计除了ASCⅡ码0-256之外的字符。但是结果输出是0
然后才统计ASCⅡ码0-256内的字符,用s的长度减去,并且一个中文占两个字符,所以要除以二,要+1防止除2后被强转成int改变值的大小。
虽说是很简单的一道题,还是值得记下来。
统计给定文本文件中汉字的个数。
Input
输入文件首先包含一个整数n,表示测试实例的个数,然后是n段文本。
Output
对于每一段文本,输出其中的汉字的个数,每个测试实例的输出占一行。
[Hint:]从汉字机内码的特点考虑~
Sample Input
2
WaHaHa! WaHaHa! 今年过节不说话要说只说普通话WaHaHa! WaHaHa!
马上就要期末考试了Are you ready?
Sample Output
14
9
我的代码:
#include <iostream> #include <string> using namespace std; int main() { int n,t; string s; cin>>n; getchar(); while(n--) { getline(cin,s); t=0; for(int i=0;i<=s.length();i++) { if(s[i]<=256 && s[i]>=0) t++; } cout<<(s.length()-t+1)/2<<endl; } return 0; }
最开始的思路是统计除了ASCⅡ码0-256之外的字符。但是结果输出是0
然后才统计ASCⅡ码0-256内的字符,用s的长度减去,并且一个中文占两个字符,所以要除以二,要+1防止除2后被强转成int改变值的大小。
虽说是很简单的一道题,还是值得记下来。
相关文章推荐
- JSON 解析 网络 上 天气预报
- Android 圆形的TextView
- leetcode-283. Move Zeroes c语言
- [Ext4] Ext4文件系统分析系列文章
- [Ext4] Ext4文件系统分析系列文章
- [文章摘要] Stories in GeoTime
- Android 布局管理器
- linux笔记:linux常用命令-用户管理命令
- 不知所云
- 常用类 Math类
- django model meta类定义abstract = True
- 通讯录之一Transform动画
- models.DateTimeField(auto_now_add=True)与models.DateTimeField(auto_now=True)
- 公司的法律环境
- 使用Intellij idea15开发SpringMvc遇到的问题
- 揭秘今日头条推荐10万+
- 自定义View实战:空调遥控器
- 374. Guess Number Higher or Lower
- 文本统计命令
- JSON 解析小例子