zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Java实现 蓝桥杯VIP 算法训练 数组查找及替换问题

JAVA训练算法数组 实现 蓝桥 查找 替换
2023-09-14 08:58:17 时间

描述

给定某整数数组和某一整数b。要求删除数组中可以被b整除的所有元素,同时将该数组各元素按从小到大排序。如果数组元素数值在A到Z的ASCII之间,替换为对应字母。元素个数不超过100,b在1至100之间。

输入
输入描述:

第一行为数组元素个数和整数b

第二行为数组各个元素

输入样例:

输出
输出描述:

按照要求输出

输出样例:

import java.util.Arrays;
import java.util.Scanner;


public class 数组查找及替换问题 {
	public static void main(String[] args) {
		Scanner reader = new Scanner(System.in);

		int num = reader.nextInt(); 						// 按题目要求创建输入
		int n = reader.nextInt();

		if (num > 0) {
			int[] arr = new int[num]; 						// 建立对应的数组
			for (int i = 0; i < num; i++) {
				arr[i] = reader.nextInt();
			}

			lanqiao_1110(arr, n);							//调用函数
		}

	}

	public static void lanqiao_1110(int[] arr, int k) {
		int c = arr.length;									//获取数组的长度
		
		for (int i = 0; i < arr.length; i++) {				//循环遍历查看是否能被k整除,并剔除
			if (arr[i] % k == 0) {
				arr[i] = -1;
				c--;
			}
		}
		
		Arrays.sort(arr);									//进行从小到大排序
		
		for (int i = arr.length - c; i < arr.length; i++) {		//循环遍历输出结果
			if (arr[i] >= 'A' && arr[i] <= 'Z') {
				System.out.print((char) arr[i] + " ");
			} else {
				System.out.print(arr[i] + " ");
			}
		}
	}

}