HDU
来源:互联网 发布:手机黄金看盘软件 编辑:程序博客网 时间:2024/06/07 05:49
题目
统计给定文本文件中汉字的个数。
Input
输入文件首先包含一个整数n,表示测试实例的个数,然后是n段文本。
Output
对于每一段文本,输出其中的汉字的个数,每个测试实例的输出占一行。
[Hint:]从汉字机内码的特点考虑~
Sample Input
2
WaHaHa! WaHaHa! 今年过节不说话要说只说普通话WaHaHa! WaHaHa!
马上就要期末考试了Are you ready?
Sample Output
14
9
想法
汉字内码在计算机中是双字节存储。
java中 char 可以存储两个字节,但是c中char只能存储一个字节。
在计算机中,汉字使用二个字节,每个字节最高位一位为1。 计算机中,补码第一位是符号位,1 表示为 负数。所以 汉字机内码的每个字节表示的十进制数都是负数。英文的一个字一个字节用了8位(1个字节)
汉字的一个字两个字节用了16位(2个字节)
java代码
代码① :
import java.util.Scanner;public class Main{ public static void main(String[] args) { Scanner it = new Scanner(System.in); int n=it.nextInt(); it.nextLine(); while(it.hasNext()) { if(n==0)break;n--; String s=it.nextLine(); int sum=0; char a[]=s.toCharArray(); for(int i=0;i<a.length;i++) { if(a[i]<0||a[i]>255)sum++; } System.out.println(sum); } }}
代码 ② :转换为字节数组
import java.util.Scanner;public class Main{ public static void main(String[] args) { Scanner it = new Scanner(System.in); int n=it.nextInt(); it.nextLine(); while(it.hasNext()) { if(n==0)break;n--; String s=it.nextLine(); int sum=0; byte a[]=s.getBytes(); for(int i=0;i<a.length;i++) { if(a[i]<0)sum++; } System.out.println(sum/2); } }}
代码③:汉字内码范围
import java.util.Scanner;public class Main{ public static void main(String[] args) { Scanner it = new Scanner(System.in); int n =it.nextInt(); it.nextLine(); while(n-->0) { String s = it.nextLine(); char a[]=s.toCharArray(); int sum=0; for(int i=0;i<a.length;i++){ if(a[i] >= 0x0391 && a[i] <= 0xFFE5) sum++; } System.out.println(sum); } }}
c代码
#include<stdio.h>#include<string.h>int main(){ int n; while(scanf("%d",&n)!=EOF){ getchar(); char a[1000]; for(int i=0;i<n;i++){ gets(a); int sum=0; for(int i=0;i<strlen(a);i++) if(a[i]<0)sum++; printf("%d\n",sum/2); } } return 0;}
个人博客:陪你一起终身学习!|岳金钊&个人博客
阅读全文
0 0
- hdu
- hdu
- HDU
- hdu ()
- hdu
- hdu
- HDU
- HDU
- hdu
- hdu
- HDU
- Hdu
- hdu
- hdu-
- hdu
- hdu
- hdu
- HDU
- Jenkins java.io.IOException: CreateProcess error=2, 系统找不到指定的文件。
- 怎么肥四?美国总统的推特被封号了!!
- windows下备份ORACLE脚本
- Chrome调试302看不到Form data选项!
- cookie和session会话的技术
- HDU
- Android杂谈(27)锁屏实践
- python 嵌套字典的定义
- 数据库概念
- 为什么AI工程师成为当前薪资最高的技术岗位
- 围棋中的数学原理
- tomcat中存放含有中文的文件访问不到解决办法(设置Tomcat的UTF-8编码)
- 干货 | Elasticsearch 集群健康值红色终极解决方案
- Mybatis笔记