蓝桥杯官网练习系统 基础练习 经典(java)
### 蓝桥杯官网练习系统经典 Java 编程题目解析 #### 一、数列排序 **题目描述**: 给定一个长度为 n 的数列(1 <= n <= 200),需要将该数列按照从小到大的顺序进行排序。每个数的绝对值都小于 10000。 **输入格式**: - 第一行输入一个整数 n 表示数列的长度。 - 第二行包含 n 个整数,表示待排序的数列。 **输出格式**: 输出一行,按从小到大的顺序输出排序后的数列。 **样例输入**: ``` 5 8 3 6 4 9 ``` **样例输出**: ``` 3 4 6 8 9 ``` **代码实现**: ```java import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); int[] a = new int[n]; for (int i = 0; i < n; i++) { a[i] = scanner.nextInt(); } Arrays.sort(a); for (int i = 0; i < n; i++) { System.out.print(a[i] + " "); } } } ``` **解析**: 此题主要考察了数组的基本操作以及排序算法的应用。Java 提供了一个便捷的 `Arrays.sort()` 方法来对数组进行排序,简化了排序过程。 --- #### 二、十六进制转十进制 **题目描述**: 从键盘输入一个不超过8位的正的十六进制数字符串,将其转换为正的十进制数后输出。十六进制数中的10~15分别用大写的英文字母 A、B、C、D、E、F 表示。 **样例输入**: ``` FFFF ``` **样例输出**: ``` 65535 ``` **代码实现**: ```java import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); long result = scanner.nextLong(16); // 十六进制转十进制 System.out.println(result); } } ``` **解析**: 这里利用了 `Scanner` 类中的 `nextLong()` 方法,可以通过指定的基数(这里是16)来读取十六进制数,并自动转换为十进制。这种方式简单且高效。 --- #### 三、十进制转十六进制 **题目描述**: 给出一个非负整数,将其表示成十六进制的形式。十六进制数有 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F 共16个符号,分别表示十进制数的 0 至 15。 **输入格式**: 输入包含一个非负整数 a,表示要转换的数。(0 <= a <= 2147483647) **输出格式**: 输出这个整数的16进制表示。 **样例输入**: ``` 30 ``` **样例输出**: ``` 1E ``` **代码实现**: ```java import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); long n = scanner.nextLong(); String array = Long.toHexString(n); array = array.toUpperCase(); System.out.println(array); } } ``` **解析**: 这里使用了 `Long.toHexString()` 方法将十进制数转换为十六进制字符串,然后通过 `toUpperCase()` 方法将十六进制中的字母部分转换为大写。 --- #### 四、特殊回文数 **题目描述**: 123321 是一个非常特殊的数,它从左边读和从右边读是一样的。输入一个正整数 n,编程求所有这样的五位和六位十进制数,满足各位数字之和等于 n。 **输入格式**: 输入一行,包含一个正整数 n。 **输出格式**: 按从小到大的顺序输出满足条件的整数,每个整数占一行。 **样例输入**: ``` 52 ``` **样例输出**: ``` 899998 989989 998899 ``` **代码实现**: ```java import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); int a, b, c, d, e, f; // 检查五位数 for (int i = 10000; i < 100000; i++) { a = i % 10; b = i / 10 % 10; c = i / 100 % 10; d = i / 1000 % 10; e = i / 10000 % 10; if (a == e && b == d && a + b + c + d + e == n) { System.out.println(i); } } // 检查六位数 for (int i = 100000; i < 1000000; i++) { a = i % 10; b = i / 10 % 10; c = i / 100 % 10; d = i / 1000 % 10; e = i / 10000 % 10; f = i / 100000 % 10; if (a == f && b == e && a + b + c + d + e + f == n) { System.out.println(i); } } } } ``` **解析**: 此题需要检查每一位数字,并确保其符合回文数的要求以及各位数字之和等于给定的 n。采用循环遍历的方式,逐个判断五位数和六位数是否符合条件。 以上四个题目涵盖了基本的数据结构操作、排序算法的应用、十六进制与十进制之间的转换以及简单的回文数判断等知识点。这些练习题旨在帮助参赛者熟悉 Java 编程语言的基础用法,并提高解决实际问题的能力。
剩余12页未读,继续阅读
- 粉丝: 866
- 资源: 6
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 白色个性风格的3D博客网站模板下载.rar
- 白色个性风格的时尚纹身艺术网站模板下载.zip
- 白色极简的设计师简历模板下载.zip
- 白色个性风格的网络科技CSS网站模板.zip
- 白色简单的商务企业网站模板下载.rar
- 白色极致简洁的画册vi设计公司网页模板下载.zip
- 白色简单风格的商务企业网站模板下载.zip
- 白色简单精致的汽车行业网站模板下载.zip
- 白色简洁布局的云托管网站模板下载.zip
- 白色简洁大气的个人博客网站模板下载.rar
- 白色简洁大气风的博客网站模板下载.zip
- 白色简洁大气效果的智能机器人企业网站模板下载.zip
- 白色简洁的工作室企业网页模板下载.zip
- 白色简洁的IT数码产品网站模板下载.rar
- 白色简洁的服务企业网站模板下载.zip
- 白色简洁的商务企业网页模板下载.zip