C语言,查找数组里重复出现的数字;
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言,查找数组里重复出现的数字;相关的知识,希望对你有一定的参考价值。
输入一个整数N(N <= 106),随后输入N个整数Ni(0 < Ni <= 104)
输出出现次数最多的数字和对应次数,如果出现次数最多的数有多个,输出数字最大的那个。
例如:
输入
5
1 1 2 2 3
输出
2 2
#include <stdio.h>
int main()
//用数组下标1~104表示输入的数字
//用数组每个元素的值表示该下标对应的元素输入次数
int a[105]=0,i,n,ni,max;
scanf("%d",&n);
max=a[0];
for(i=0;i<n;i++)
scanf("%d",&ni);
a[ni]++;
if(max<a[ni])
max=a[ni];
for(i=104;i>0;i--)//想想为什么倒着比较
if(a[i]==0) continue;
if(max==a[i])
printf("%d %d\\n",i,a[i]);
break;
return 0;
参考技术A 可以一次读入N个数据。可以考虑以回车结束读入的一组。参考如下写法:#include"stdio.h"#defineMax100intX[Max]=0,,Y[Max]=0,;intmain()inti=0,j=0;inta,b;charc=0;printf("输入第一个数组(以空格分开,回车结束)");while((c!='\n'))scanf("%d%c",X+i++,&c);c=0;printf("输入第二个数组(以空格分开,回车结束)");while((c!='\n'))scanf("%d%c",Y+j++,&c);for(a=0;a
以上是关于C语言,查找数组里重复出现的数字;的主要内容,如果未能解决你的问题,请参考以下文章