题目描述
给定某整数数组和某一整数b。要求删除数组中可以被b整除的所有元素,同时将该数组各元素按从小到大排序。如果数组元素数值在A到Z的ASCII之间,替换为对应字母。元素个数不超过100,b在1至100之间。
输入
第一行为数组元素个数和整数b
第二行为数组各个元素
输出
按照要求输出
样例输入
7 2 77 11 66 22 44 33 55
样例输出
11 33 55 M
#include <iostream>
using namespace std;
#include <algorithm>
#define MX 100
int main()
{
int a[MX + 10], b[MX + 10], k = 0, i, n, x; // a[MX + 10]+10是为了防止数组超限
cin >> n >> x;
for (i = 1; i <= n; i++)
{
scanf("%d", &a[i]);
}
for (i = 1; i <= n; i++)
{
if (a[i] % x != 0)
{
b[++k] = a[i];
}
}
sort(b + 1, b + 1 + k); // 从小到大排序
for (i = 1; i <= k; i++) // 遍历数组b,找到数组元素数值在A到Z的ASCII之间的
{
if (b[i] >= 65 && b[i] <= 90)
{
cout << char(b[i]) << " ";
}
else
{
printf("%d%s", b[i], " ");
}
}
}