#include
void main()
{
int i,n,temp,data[10]={0},max;
scanf("%d",&n);
for(i=0;i { scanf("%d",&temp); while(temp) { data[temp%10]++; temp/=10; } } max=data[0]; for(i=1;i<10;i++) if(max
for(i=0;i<10;i++) if(max==data[i]) printf("出现次数最多%d次的数字是%d\n",data[i],i); }
#include "stdio.h"
int main()
{
int n,m,a[10],b[10]={0},i,j,max,count;
scanf("%d",&n);
for(i=0;i
while(m!=0)
{
a[m%10]=m%10;
b[a[m%10]]++;
m=m/10;
}
max=b[0];
for(j=0;j<10;j++)
if(max{
max=b[j];
count=j;
}
}
printf("出现最多%d次的数字是%d\n",max,a[count]);
return 0;
}
小问题很多,输入得是一些列整数,结果按照你的代码其实就是只统计了其中一个数中出现最多次数的数字,还有在你扫b[j],数组时找到了最大次数的同时你也得记录下它所在数组位置的下标才可以啊
直接把每个位的数通过除以10的方次,然后对10求模,判断一下不就行了呀