试题 算法训练 数组查找及替换
资源限制
时间限制:1.0s 内存限制:512.0MB
问题描述
给定某整数数组和某一整数b。要求删除数组中可以被b整除的所有元素,同时将该数组各元素按从小到大排序。如果数组元素数值在A到Z的ASCII之间,替换为对应字母。元素个数不超过100,b在1至100之间。
输入格式
第一行为数组元素个数和整数b
第二行为数组各个元素
输出格式
按照要求输出
样例输入
7 2
77 11 66 22 44 33 55
样例输出
11 33 55 M
题解:
1.先判断是否能过被b整除,
2.在判断数组元素数值是否在A到Z的ASCII之间
3.强制转成char
import java.util.Arrays;
import java.util.Scanner;
public class 数组查找及替换 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in); //此类用于控制台读取数据
int n=sc.nextInt(); //调用方法在控制台读取一个int的整数
int b=sc.nextInt();
int[] a=new int[n]; //创建一个集合来保存数据
for(int i=0;i<n;i++)
{
a[i]=sc.nextInt();
}
Arrays.sort(a); //使用工具类来排序数组a
for(int i=0;i<n;i++)
{
if(a[i]%b!=0) //题目判断条件
{
if(a[i]>='A'&&a[i]<='Z') //如果数组元素数值在A到Z的ASCII之间,替换为对应字母
{
System.out.print((char)a[i]+" ");//整形转成char
}else
{
System.out.print(a[i]+" ");
}
}
}
}
}