输入一个整数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
c语言删除数组中重复次数最多的元素
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
bekote 2021-12-06 11:59关注#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"); }本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报