2020.04.08:蓝桥杯试题之基础练习1-10(java实现)

1.数列排序

问题描述:
给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1<=n<=200
输入格式:
第一行为一个整数n。
第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000。
输出格式:
输出一行,按从小到大的顺序输出排序后的数列。
样例输入:5
8 3 6 4 9
样例输出:3 4 6 8 9

import java.util.*;//若为Scanner则无法使用Arrays
public class Main0405_1 {
   
	public static void main(String[] args) {
   
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int[] nums = new int[n];//建立数组nums,数组有n个数
		for (int i = 0;i<n;i++){
   
			nums[i]=sc.nextInt();
		}
		Arrays.sort(nums);
		for (int i =0;i<n;i++){
   
			System.out.print(nums[i]+" ");//记得双引号加空格,因为样例输出每个数都有间隔
			}
		}	
	}

2.十六进制转八进制

问题描述:给定n个十六进制正整数,输出它们对应的八进制数。
输入格式:输入的第一行为一个正整数n (1<=n<=10)。
  接下来n行,每行一个由09、大写字母AF组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。
输出格式:输出n行,每行为输入对应的八进制正整数。
【注意】
  输入的十六进制数不会有前导0,比如012A。
  输出的八进制数也不能有前导0。
样例输入
  2
  39
  123ABC
样例输出
  71
  4435274
【提示】先将十六进制数转换成某进制数,再由某进制数转换成八进制。

import java.util.Scanner;
public class Main0405_2 {
   

	public static void main(String[] args) {
   
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		for(int i = 0;i<n;i++){
   //获取每一行输入数据
			String line = sc.next();
			StringBuilder builder = new StringBuilder();
			for (int k = 0;k<line.length();k++){
   //取每一位十六进制转成二进制放到容器里
				builder.append(hexToBin(line.substring(k, k + 1)));
				}
			String bin = format3(builder.toString());
			
			builder = new StringBuilder();
			for (int k = 0;k<bin.length();k+=3){
   
				builder.append(binToOct(bin.substring(k, k + 3)))</
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值