输入一个整数n(n>0),然后接着输入n个正整数,这其中会有重复数字,请删除出现次数最多的正整数然后将其他数按原来的顺序输出,若有两个正整数出现次数相同且最大,则均删除。
样例:
输入1:
2 2 5 1 3 2 5 1
输出1:
5 1 3 5 1
输入2:
3 4 4 4 2 3 3
输出2:
2
输入3:
2 2 2 3 3 3
输出3:
0
#include <stdio.h>
#define N 100000
int main()
{
int n;
int a[N],c[N];
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
c[i]=1;
}
int max = 1;
for(int i=0;i<n;i++){
for(int j=i+1;j<n;j++){
if(a[j]==a[i]){
c[i]++;
if(max<c[i])max=c[i];
c[j]=c[i];
}
}
}
int k=0;
for(int i=0;i<n;i++){
if(c[i]==max)continue;
printf("%d ",a[i]);
k++;
}
if(k==0)printf("0");
}
先循环比较出重复次数最多的若干个数,然后再循环变量数组,如果是重复次数最多的数则不输出