问题描述 给定某整数数组和某一整数b。要求删除数组中可以被b整除的所有元素,同时将该数组各元素按从小到大排序。如果数组元素数值在A到Z的ASCII之间,替换为对应字母。元素个数不超过100,b在1至100之间。
输入格式
第一行为数组元素个数和整数b
第二行为数组各个元素
输出格式
按照要求输出
样例输入
7 2
77 11 66 22 44 33 55
样例输出
11 33 55 M
问题描述
给定某整数数组和某一整数b。要求删除数组中可以被b整除的所有元素,同时将该数组各元素按从小到大排序。如果数组元素数值在A到Z的ASCII之间,替换为对应字母。元素个数不超过100,b在1至100之间。
输入格式
第一行为数组元素个数和整数b
第二行为数组各个元素
输出格式
按照要求输出
样例输入7 2
77 11 66 22 44 33 55
样例输出
11 33 55 M
#include <stdio.h>
#include <stdlib.h>
void del(int a[],int *len,int m)
{
int i,j;
for(i=0;i<*len;i++)
if(a[i]%m==0)
{
for(j=i;j<*len;j++)
a[j]=a[j+1];
(*len)--;
i--;
}
}
int cmp(const void *a,const void *b)
{
return *(int *)a-*(int *)b;
}
int main()
{
int a[101]={},i,m,n;
scanf("%d%d",&n,&m);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
del(a,&n,m);
qsort(a,n,sizeof(a[0]),cmp);
for(i=0;i<n;i++)
{
if(a[i]>=65&&a[i]<=90)
printf("%c ",a[i]);
else
printf("%d ",a[i]);
}
return 0;
}
#include <stdlib.h>
void del(int a[],int *len,int m)
{
int i,j;
for(i=0;i<*len;i++)
if(a[i]%m==0)
{
for(j=i;j<*len;j++)
a[j]=a[j+1];
(*len)--;
i--;
}
}
int cmp(const void *a,const void *b)
{
return *(int *)a-*(int *)b;
}
int main()
{
int a[101]={},i,m,n;
scanf("%d%d",&n,&m);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
del(a,&n,m);
qsort(a,n,sizeof(a[0]),cmp);
for(i=0;i<n;i++)
{
if(a[i]>=65&&a[i]<=90)
printf("%c ",a[i]);
else
printf("%d ",a[i]);
}
return 0;
}
温馨提示:答案为网友推荐,仅供参考