问题描述 

  给定某整数数组和某一整数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;
}

版权声明:本文为m0_62563707原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/m0_62563707/article/details/123619345