问题描述
给定某整数数组和某一整数b。要求删除数组中可以被b整除的所有元素,同时将该数组各元素按从小到大排序。如果数组元素数值在A到Z的ASCII之间,替换为对应字母。元素个数不超过100,b在1至100之间。
输入格式
第一行为数组元素个数和整数b
第二行为数组各个元素
输出格式
按照要求输出
样例输入
7 2
77 11 66 22 44 33 55
样例输出
11 33 55 M
【分析】根据题意,首先需要先遍历数组元素,找出不能被b整除的数,由于新的数组元素的数目具有不确定性,因此适合用集合来存贮符合条件的数值,接下来对集合元素进行排序(用Collection.sort()),然后找出元素在A-Z之间的数值,转换成字母输出即可
【参考代码】
#include<stdio.h>
int main()
{
int n,m;
scanf("%d%d",&n,&m);
int a[n],t,i,j;
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(a[i]>a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
if(a[i]%m!=0)
{
if(a[i]>=65&&a[i]<=90)
printf("%c ",a[i]);
else printf("%d ",a[i]);
}
}
return 0;
}