拼音字母 在很多软件中,输入拼音的首写字母就可以快速定位到某个词条。比如,在铁路售票软件中,输入: “bj”就可以定位到“北京”。怎样在自己的软件中实现这个功能呢?问题的关键在于:对每个汉字必须能计算出它的拼音首字母。

GB2312汉字编码方式中,一级汉字的3755个是按照拼音顺序排列的。我们可以利用这个特征,对常用汉字求拼音首字母。GB2312编码方案对每个汉字采用两个字节表示。第一个字节为区号,第二个字节为区中的偏移号。为了能与已有的ASCII编码兼容(中西文混排),区号和偏移编号都从0xA1开始。我们只要找到拼音a,b,c,...x,y,z 每个字母所对应的GB2312编码的第一个汉字,就可以定位所有一级汉字的拼音首字母了(不考虑多音字的情况)。下面这个表给出了前述信息。请你利用该表编写程序,求出常用汉字的拼音首字母。

a 啊 B0A1
b 芭 B0C5
c 擦 B2C1
d 搭 B4EE
e 蛾 B6EA
f 发 B7A2
g 噶 B8C1
h 哈 B9FE
j 击 BBF7
k 喀 BFA6
l 垃 C0AC
m 妈 C2E8
n 拿 C4C3
o 哦 C5B6
p 啪 C5BE
q 期 C6DA
r 然 C8BB
s 撒 C8F6
t 塌 CBFA
w 挖 CDDA
x 昔 CEF4
y 压 D1B9
z 匝 D4D1

【输入、输出格式要求】
用户先输入一个整数n (n<100),表示接下来将有n行文本。接着输入n行中文串(每个串不超过50个汉字)。

程序则输出n行,每行内容为用户输入的对应行的汉字的拼音首字母。

字母间不留空格,全部使用大写字母。
例如:
用户输入:
3
大家爱科学
北京天安门广场
软件大赛

则程序输出:
DJAKX
BJTAMGC
RJDS

【注意】

请仔细调试!您的程序只有能运行出正确结果的时候才有机会得分!

在评卷时使用的输入数据与试卷中给出的实例数据可能是不同的。

请把所有函数写在同一个文件中,调试好后,拷贝到【考生文件夹】下对应题号的“解答.txt”中即可。

相关的工程文件不要拷入。

源代码中不能使用诸如绘图、Win32API、中断调用、硬件操作或与操作系统相关的API。

允许使用STL类库,但不能使用MFC或ATL等非ANSI c++标准的类库。

例如,不能使用CString类型(属于MFC类库),不能使用randomize, random函数(不属于ANSI C++标准)

import java.util.Scanner;public class Main {public static String word = "啊芭擦搭蛾发噶哈击喀垃妈拿哦啪期然撒塌挖昔压匝";public static int[] num = new int[24];public static char[] result = {'A','B','C','D','E','F','G','H','J','K','L','M','N','O','P','Q','R','S','T','W','X','Y','Z'};// 将一个汉字(GB2312)转换为十进制表示  public static int getNum(char c){  byte[] b = null;  try {  b = (""+c).getBytes("GB2312");  } catch (Exception e) {  e.printStackTrace();  }   // 汉字变为十进制(核心)  return (b[0]<<8&0xff00) + (b[1]&0xff);  }  public void getResult(String[] A) {for(int i = 0;i < word.length();i++)num[i] = getNum(word.charAt(i));String[] result1 = new String[A.length];for(int i = 0;i < A.length;i++) {String temp1 = "";for(int j = 0;j < A[i].length();j++) {int a = getNum(A[i].charAt(j));int k = 0;for(;k < result.length - 1;k++) {if(a >= num[k] && a < num[k + 1]) {temp1 = temp1 + result[k];break;}}if(k == result.length - 1)temp1 = temp1 + "Z";}result1[i] = temp1;}for(int i = 0;i < result1.length;i++)System.out.println(result1[i]);}public static void main(String[] args) {Main test = new Main();Scanner in = new Scanner(System.in);int n = in.nextInt();String[] A = new String[n];in.nextLine();for(int i = 0;i < n;i++)A[i] = in.nextLine();test.getResult(A);}
}

java实现第三届蓝桥杯拼音字母相关推荐

  1. 求圈地的方块数java,java实现第三届蓝桥杯方块填数

    方块填数 "数独"是当下炙手可热的智力游戏.一般认为它的起源是"拉丁方块",是大数学家欧拉于1783年发明的. 如图[1.jpg]所示:6x6的小格被分为6个部 ...

  2. java实现第三届蓝桥杯地址格式转换

    地址格式转换 [编程题](满分21分) Excel是最常用的办公软件.每个单元格都有唯一的地址表示.比如:第12行第4列表示为:"D12",第5行第255列表示为"IU5 ...

  3. java实现第三届蓝桥杯DNA对比

    DNA对比 脱氧核糖核酸即常说的DNA,是一类带有遗传信息的生物大分子.它由4种主要的脱氧核苷酸(dAMP.dGMP.dCMT和dTMP)通过磷酸二酯键连接而成.这4种核苷酸可以分别记为:A.G.C. ...

  4. java实现第三届蓝桥杯排日程

    排日程 [编程题](满分34分) 某保密单位机要人员 A,B,C,D,E 每周需要工作5天,休息2天. 上级要求每个人每周的工作日和休息日安排必须是固定的,不能在周间变更. 此外,由于工作需要,还有如 ...

  5. 蓝桥杯java初赛本科组,2012年第三届蓝桥杯全国软件专业人才设计与开发大赛Java本科组初赛试题...

    这是2012年第三届蓝桥杯全国软件专业人才设计与开发大赛Java本科组初赛试题的完整版 2012第三届蓝桥杯软件大赛Java语言本科组初赛试题 (说明:1-4题为结果填空,5-7为程序填空,8-10为 ...

  6. 2012年第三届蓝桥杯C/C++程序设计本科B组决赛 拼音字母(编程大题)

    2012年第三届蓝桥杯C/C++程序设计本科B组决赛题目汇总: http://blog.csdn.net/u014552756/article/details/51399827 拼音字母 在很多软件中 ...

  7. 第三届蓝桥杯 c/c++真题

    第三届蓝桥杯真题 c/c++ 以下题目我自己也并不是所有的题目都是一次性就能做对或是有结题思路的.有些题目也是经过查证网上相关的资料或是参考了别人的代码和解题思路才做出来的.总的来看,这份题目考了很多 ...

  8. 蓝桥杯---拼音字母

    拼音字母 (2012年第三届蓝桥杯C/C++程序设计本科B组决赛题目) 在很多软件中,输入拼音的首写字母就可以快速定位到某个词条.比如,在铁路售票软件中,输入: "bj"就可以定位 ...

  9. 2012年第三届蓝桥杯省赛C语言B组

    2012年第三届蓝桥杯省赛C语言B组 题目来源:蓝桥杯 作者:GGG166 第一题 题目:微生物增殖 假设有两种微生物 X 和 Y X出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次( ...

最新文章

  1. 4道经典指针笔试题讲解 ~
  2. [一文一命令]less命令详解
  3. 一、安装Docker CE
  4. python数字和运算_Python学习笔记:数字类型和运算符,与
  5. Jackson 配置 ObjectMapper
  6. java launcher_JAR清单类路径不仅适用于Java Application Launcher
  7. 为什么MaxCompute采用列式存储?列式存储和行式存储的主要区别在哪
  8. 本科生 计算机图形学试卷,湖南工程学院《计算机图形学》毕业补考试卷及答案...
  9. Sublime Text C# 编译(csharp.sublime-build)
  10. python通过什么对象连接数据库_干货!python与MySQL数据库的交互实战
  11. 1016 部分A+B (15 分)—PAT (Basic Level) Practice (中文)
  12. vue 项目使用通过经纬度显示地图
  13. Grasshopper and Rhino: Python Scripting Grasshopper和Rhino:Python脚本 Lynda课程中文字幕
  14. android经典动态壁纸,Android动态壁纸解析
  15. 计算机源代码可以用中文吗,为什么很多人说电脑程序不能使用中文呢?
  16. shell解析HTML
  17. PG数据库:分组后取每组第一条数据
  18. python坐标定位手机元素_Appium+Python之元素定位和操作
  19. matlab错误: 服务器出现意外情况。
  20. 老罗android版本,锤子手机T1将死守安卓4.4系统 罗永浩称升级高版本没啥用

热门文章

  1. r语言 协整_基于协整关系的配对量化交易策略-R语言
  2. Windows下给GitHub 配置 GIT 工具时密匙添加问题
  3. 【日照百度推广seo】想要转行做SEO?《SEO面试指南》拿去!
  4. 2021年化工自动化控制仪表考试内容及化工自动化控制仪表模拟考试
  5. 基于单片机的数字温度计设计-零妖
  6. 鸿蒙os和ios区别,华为鸿蒙OS和iOS以及安卓的区别到底在哪,一张图总结
  7. Java中静态内部类和非静态内部类的区别
  8. 【paddleocr】发票ocr
  9. Eureka基础之EurekaServer单机版搭建
  10. 基金考试可以用计算机吗,2021年基金从业机考常见问题,计算器可以带吗?